{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# DNA_construct Examples\n", "\n", "DNA_construct is a flexible way to indicate a DNA sequence.\n", "\n", "A DNA sequence is composed of a string of nucleotides. The sequence of these nucleotides can allow binding of other biomolecules such as proteins or RNA. We choose to annotate known binding interactions and other features of DNA sequences by considering them to be \"DNA parts\". a \"part\" has a certain function, and the order and orientation of parts on a dna sequence describes the overall function of that DNA sequence.\n", "\n", "For example, a `Promoter` is a part which binds to RNA polymerase and causes everything downstream to be transcribed into RNA. A `Terminator`, then, is a sequence which stops the transcription of DNA into RNA. Therefore, anything between a `Promoter` and a `Terminator` gets turned into RNA.\n", "\n", "Other parts such as a Ribosome Binding Site or `RBS`, binds to the ribosome, but only if it is made of RNA and not DNA. Thus, an `RBS` is _like_ a `Promoter`, but instead of RNA it makes Protein. As always the position and orientation of parts determines what those parts actually do. If your sequence contains a Coding Sequence (`CDS`) _before_ an `RBS`, then the ribosome actually cannot translate that protein. Likewise if your `RBS` is after a `Terminator`, that `RBS` never gets turned into RNA.\n", "\n", "This type of logic is incorporated into `DNA_construct`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The basic workflow is to first define a list of parts, then string them together into a `DNA_construct`" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "imports done!\n", "enumerating components\n", "\n", "[ptet_0, RNA_construct = UTR1_GFP_t16]\n", "\n", "CRN species\n", "dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "protein[RNAP]\n", "protein[Ribo]\n", "protein[RNAase]\n", "rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "protein[tetr]\n", "ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "protein[Ribosome]\n", "ordered_polymer[complex[part[UTR1]:protein[Ribosome]-forward]:part[GFP-forward]:part[t16-forward]]\n", "protein[GFP]\n", "complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]]\n", "\n", "CRN reactions\n", "dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", " Kf=k_forward * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\n", " Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\n", " k_forward=100\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=transcription_mm, partid=ptet_leak, name=kb).\n", " k_reverse=10\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=transcription_mm, partid=ptet_leak, name=ku).\n", "\n", "ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\n", " Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\n", " k_forward=0.05\n", " found_key=(mech=None, partid=None, name=ktx).\n", " search_key=(mech=transcription_mm, partid=ptet_leak, name=ktx).\n", "\n", "2protein[tetr]+dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", " Kf=k_forward * protein_tetr^2 * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_\n", " Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\n", " k_forward=100\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=kb).\n", " k_reverse=10\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=ku).\n", "\n", "ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", " Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\n", " Kr=k_reverse * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\n", " k_forward=100\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=transcription_mm, partid=ptet_tetr, name=kb).\n", " k_reverse=10\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=transcription_mm, partid=ptet_tetr, name=ku).\n", "\n", "ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\n", " Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\n", " k_forward=0.05\n", " found_key=(mech=None, partid=None, name=ktx).\n", " search_key=(mech=transcription_mm, partid=ptet_tetr, name=ktx).\n", "\n", "rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[Ribosome] <--> ordered_polymer[complex[part[UTR1]:protein[Ribosome]-forward]:part[GFP-forward]:part[t16-forward]]\n", " Kf=k_forward * rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_Ribosome\n", " Kr=k_reverse * ordered_polymer_complex_part_UTR1_protein_Ribosome_forward__part_GFP_forward_part_t16_forward_\n", " k_forward=100\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=translation_mm, partid=UTR1, name=kb).\n", " k_reverse=10\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=translation_mm, partid=UTR1, name=ku).\n", "\n", "ordered_polymer[complex[part[UTR1]:protein[Ribosome]-forward]:part[GFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[GFP]+protein[Ribosome]\n", " Kf=k_forward * ordered_polymer_complex_part_UTR1_protein_Ribosome_forward__part_GFP_forward_part_t16_forward_\n", " k_forward=0.2\n", " found_key=(mech=None, partid=None, name=ktl).\n", " search_key=(mech=translation_mm, partid=UTR1, name=ktl).\n", "\n", "rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]]\n", " Kf=k_forward * rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAase\n", " Kr=k_reverse * complex_protein_RNAase_rna_part_UTR1_forward_part_GFP_forward_part_t16_forward__\n", " k_forward=100\n", " found_key=(mech=None, partid=None, name=kb).\n", " search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kb).\n", " k_reverse=10\n", " found_key=(mech=None, partid=None, name=ku).\n", " search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=ku).\n", "\n", "complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]] --> protein[RNAase]\n", " Kf=k_forward * complex_protein_RNAase_rna_part_UTR1_forward_part_GFP_forward_part_t16_forward__\n", " k_forward=2\n", " found_key=(mech=None, partid=None, name=kdeg).\n", " search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kdeg).\n", "\n" ] } ], "source": [ "from biocrnpyler import *\n", "try:\n", " #dnaplotlib is a cool library for plotting DNAs.\n", " #please use my fork located at https://github.com/dr3y/dnaplotlib\n", " #to install it type: pip install git+git://github.com/dr3y/dnaplotlib.git@master\n", " import dnaplotlib as dpl\n", " %matplotlib inline\n", " dpl_enabled = True\n", "except (ModuleNotFoundError,ImportError) as e:\n", " dpl_enabled = False\n", "print(\"imports done!\")\n", "\n", "def plotNetwork(inCRN,use_pretty_print=True,colordict = None,iterations=2000,rseed=30,posscale=1,export=False,colordict_append=None):\n", " try:\n", " from bokeh.models import (Plot , Range1d)\n", "\n", " import bokeh.plotting\n", " import bokeh.io\n", " bokeh.io.output_notebook() #this makes the graph appear in line with the notebook\n", " if(colordict is None):\n", " colordict={\"complex\":\"cyan\",\"protein\":\"green\",\n", " \"GFP\":\"lightgreen\",\n", " \"RFP\":\"red\",\n", " \"ribosome\":\"blue\",\n", " \"dna\":\"white\",\"rna\":\"orange\",\n", " \"ligand\":\"pink\",\"phosphate\":\"yellow\",\"nothing\":\"purple\"}\n", " if(colordict_append is not None):\n", " colordict.update(colordict_append)\n", " #now you draw the network on the plot. Layout \"force\" is \n", " plot = render_network_bokeh(inCRN,use_pretty_print=use_pretty_print,colordict=colordict,layout=\"force\",iterations=iterations,rseed=rseed,posscale=posscale)\n", " bokeh.io.show(plot) #if you don't type this the plot won't show\n", " if(export):\n", " plot.output_backend = \"svg\"\n", " bokeh.io.export_svgs(plot, \"plot_file.svg\")\n", " \n", " except ModuleNotFoundError:\n", " return None\n", "\n", "\n", "\n", "\n", "ptet = RegulatedPromoter(\"ptet\",[\"tetr\"],leak=True) #this is a repressible promoter\n", "pconst = Promoter(\"pconst\") #constitutive promoter\n", "utr1 = RBS(\"UTR1\") #regular RBS\n", "gfp = CDS(\"GFP\",\"GFP\")\n", "rfp = CDS(\"RFP\",\"RFP\")\n", "t16 = Terminator(\"t16\") #a terminator stops transcription\n", "\n", "\n", "#now that the parts are defined, we can put together our construct.\n", "parameters={\"cooperativity\":2,\"kb\":100, \"ku\":10, \"ktx\":.05, \"ktl\":.2, \"kdeg\":2,\"kint\":.05}\n", "\n", "construct_1 = DNA_construct([[ptet,\"forward\"],[utr1,\"forward\"],[gfp,\"forward\"],[t16,\"forward\"]],\\\n", " mechanisms = {\"transcription\":Transcription_MM(Species(\"RNAP\",material_type=\"protein\")),\\\n", " \"translation\":Translation_MM(Species(\"Ribosome\",material_type=\"protein\")),\\\n", " \"binding\":One_Step_Cooperative_Binding()},parameters=parameters) \n", "''\n", "#some very basic parameters are defined\n", "parameters={\"cooperativity\":2,\"kb\":100, \"ku\":10, \"ktx\":.05, \"ktl\":.2, \"kdeg\":2,\"kint\":.05}\n", "\n", "components = [construct_1]\n", "myMixture = TxTlExtract(name = \"txtl\", parameters = parameters, components = components)\n", "myCRN = myMixture.compile_crn()\n", "print(\"enumerating components\")\n", "comps = myMixture.get_component(construct_1).enumerate_components()\n", "\n", "w = construct_1.enumerate_components()\n", "print()\n", "print(w)\n", "\n", "x = myCRN.species\n", "print()\n", "print(\"CRN species\")\n", "print('\\n'.join([a.pretty_print() for a in x]))\n", "\n", "y = myCRN.reactions\n", "print()\n", "print(\"CRN reactions\")\n", "print('\\n'.join([a.pretty_print() for a in y]))\n", "#'''\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "imports done!\n", "0\n", "0\n", "enumerating components\n", "\n", "CRN species\n", "dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]\n", "protein[RNAP]\n", "protein[Ribo]\n", "protein[RNAase]\n", "rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "protein[tetr]\n", "ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]\n", "ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\n", "ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]]\n", "protein[GFP]\n", "ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]]\n", "protein[RFP]\n", "complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]]\n", "complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]]\n", "\n", "CRN reactions\n", "dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\n", "2protein[tetr]+dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\n", "ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\n", "dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\n", "ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\n", "rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]]\n", "ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[GFP]+protein[Ribo]\n", "rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]]\n", "ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RFP]+protein[Ribo]\n", "rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]]\n", "complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]] --> protein[RNAase]\n", "rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]]\n", "complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]] --> protein[RNAase]\n", "d:\\documents\\github\\biocrnpyler\\biocrnpyler\\plotting.py:500: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", " plt.tight_layout(pad=0.0001)\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAN4AAABFCAYAAAAlxlg3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAKuElEQVR4nO2de3AV1RnAf19CAA0KRkVbkQaL76gjSo1TtWhFLa+h1vqoaC2DDAYZO3H68knHlqqU2FrRTn2UFmqn46M+qFpp1altoSLV1lgVNb2IWhqtASUKKH7945zN3VxuIDf37u69m+83s3N3vz179jt7z3de356zoqoYhhEvVUkrYBj9ETM8w0gAMzzDSAAzPMNIADM8w0gAMzzDSIABSSsA0NK64kLgImAu8GBzQ6P5OIxUU0413pHA/cCqltYVU1paV0jSChlGVJST4QWYARqppxwNL8AM0Egt5Wx4AWaARuqoBMMLMAOscERkPxE5Mmk9ygEp9UvSLa0r4hqRfAZoam5oXBHT/YwiEZEGYBlwrKpmorzX48teLnk+PHH8/iUr7CupxgvTBvwEWJW0IkbB7A08IiK7J61IkpSFH68A2oDvAUuaGxo/TFoZo88cCDwoIp9X1Q+SViYJIjW85obGXlXN3oH+s+0EMYNLH8cCd4rIGaq6tdSR96ZZGG6OlrIZ2RvKvcYzg0s3U4EbReRi7WczssvV8Mzg+g9NwFrg2qQViZNyMzwzuP7JD0TkDVVdnLQicVEuhvcGMB0zuP5DHbArkOmS3CEi61R1WVIqxUlZGF5zQ+NDSetgxEw1cBbwc6AdcHnxXhE5QVWfSVCzWKhUP56RBnYCzsXVfI4hwEMiUp+MQvFRFjVeGvEO4uG4wu1d4PW+jtyJyCGk47/afxvJUGAacAewCcg62D+rqv+LU7k4ScOfWRaISDVwGnA+cAzwqZwgHSKyCrgXWKKq7xUQ/WPAXiVRtBwZDpwNLAacRy/1DnZrahaJOM4CXgGWAmeyrdEB7AacDNwMvCki80RkcHyaljn1wOndJIGDvToJdaLGarwiEJE63Bs3X8o9N2hQDfX1w6mqqmLdug46OjaGTw8BvgNMFZFpqvr3Xt90D9JRXNblkR0KvAc80iVJrYPdDK+PiMhewB9x2QWAurpdmD79ZM455wQOO6yemhr3eFWVTOa/LF26kltueZgXXlgbXHIw8CcRmayqj/fqxl8FdillSsqMRmADsLxL0gS8DvwgIY0iIQ1lZ+yISC3wKCGjmzHjFNrabmX+/OmMGTO6y+h8eEaN2ps5cybT2noTCxfOora2q5VZi+vPjIkzDWXNeKChm2SeiJyfjDLRYIbXN64FDgeorq5iyZJLufXWOQwdWrvDC6uqqmhqmsjKlS3ss0/XzJhaYLH1+TxVuEZmfTfp7SJyShLqREEqm5otrSvmDh9cWz9s4KD6SSMPeKI31yx9bfW49Vs2Z9o3dWaaGxrn9hRORI4DLg6OFy6cxbnnjitYx4MP3pdly65h7NhmOjs3ARwCXAlcXnBkaWQA+Rzs96TFwZ5KwwOubt/USfumToDP9eaC1e++Ew47dztBvx3sTJo0lpkzT+ujis74rr/+AmbP/mkgmiMi1xboakgvgYP9dpwnNOtgj3wGe9RYU7MARGQUMCE4vuGGGYgUN41r1qwvcNBBI4LDXXBZzQgIHOzZRngqZrCb4RXGVEAATj11DKNHf7LoCF2fb0JYdHpPYfstgYM969ELHOw7JaVSsZjhFcZRwc7EiUeXLNIJE7rFdZQUW42mkXpS5WBPax8vKg4PdhYsuI/ly18sSaQ5ruE6YB+c78oIkyIHe9GGJyLdErzgueU9nouLsA59oTd6r1nTzpo17UXdZzustUqvBxqBDuBvXZImoKkvz+uxR1d37fc1r6pqn/4oa2oalcUW3LTpCscMz6gcPgbuIRWN8KKbmturapsTanYXu5p1X5sPUSEi60jztKDeoMBDwEvdpJeo6o0liT7mvGo1nlEZPAk83U0yv1RGlwRmeEb58yxuKnCWXxN6g6gSMcMzyptXgAe6SR4DvqaqHyeiT4lIvR+vpdU+JlSxvAn8Bjeo4vgncLqqbk5KpVJhNZ5RnnQAvwKyq6yuBSao6oakVColZnhG+dEJLPG/jvXAaaqaAg+eo+QfpjRKTzd3woW4abOVTjX5l7DYAvySsK9uMzBeVZ+MR7F4MMOrAFLpx9sTmJ0j+xjXp8v66hQ4U1Xvjk+xeLCmplEe5HeQfz2NRgf9YFQzJbyBa4RVOgPpqeZOmYN8h6hqbBtuSYU/FHhNPa48HBGnrqH7Z4BpPcivAjb6rdPr2RmSXQaM8/JA9h9cL2b3UFw7AXcBL+MaXFcklNajcG9DtntdM/74JH9+EW6ccWNoe9Sfy03nm7gVU+pC8Tf4MMqeKHP9NtXLstudQFWRaXki/ByBI4CH/fNX4Lg819QCN/owG4EXgCOjeNbW1CyONlUdoqpDcLOiAQ4NZKo6z8u2hsI14jL4glA8CvwVmAk8FZfyYURkPPAX4FXgaNzQx2E4I/hiKOgvQukboqrhlb/C6TwON1n1R9u9cXwO8i245fOn5DvpJx/fhyvoP+PTMBFXgJSeiGqIq4A/40qNp4GxuDWjtgAfkS0V9/PXHO/Dv4P74y8lO/Czge41yZUx1wIZeq7xpoWOR3g963PCjQM+ypHNB1p7U1LHmM5XgNt2EGZRT2F6SOcPgedCx91rvJkoNd1qun8AQ0uQlptwX2HY7PPMSznnt6nxgFOB9wnV0FFuUdV4s4BLcLOp78Z1mx8G5gFPaLa0bBORQ/35+bixrom45fPO83Ed4X8P9NdcE5HOsSAi+wGTyB1GSBAROQD4NO4dyFLFORqYDKzMG+B9InOQq+rFuF7jNT7PHLija4ATcYX+t0SkXURe9d+3qClWn3xEZXi3q+oqVd0CXAd8gMts+bgIuEtV71fVrar6Iq7EStPKwdUisl5EOnF/7ltsO5ieJHv63y4HtYhM8TpvEJFNobDneXmwnRk6F6SzA1gGPA40571jJ+XmIN8DVyNXAyNxX376MvDNKG4W1ahmJthRVRWR13BNsXyMAk4SkfBSNlW4ErAc+BDIV+rVEC6vt89WVR3m+xGn4D5I9QlgXWlULJq3/e8I4EUAVX0AGOYX8A07rxer6owe4tmqqsMKvPdmYIqq/qvA60rNe7jm6eXq3gV9WUQWAl8Bvl/qm0VV49UHOz6zjcS9i5Cvw7wGuENVh4W2XVU1+C5B0m+hZ4DRYYGIDMENi7cVEpE6fg/cAtxWRquJrcal5eyY76u4fnIUb6UUmm+e7UEeyRsmURnedBEZ49vH3wB2Bn6HK+FHisjAUNibgbNFZLKI1IjIABE5RESCVZ3fwj3Ebb8mGg+LgJkicryIVIvIbsCPgeeBvi4lvgBX058VCERkkP92QhUwQEQGR9W/yEXd6MJsXDPyOhHZ13/3b2fcRzajIkoH+TpCBaZPz+DQ9ykG+uNgecB7cXntuyIy0C9efJGXl54IRscywNVkRzVXAcf4c7vhPm31Dq5dP8rLj/Xyt/25p4AzQnFe5h/kelxTIO4RvwtxU1I24PpBdwL75oTp9aiml1+B89sNCD23XH/WopjTORb4LS4DdgL/xmW8sB+v16OaecI0hNJ2fQxpafV55nmy/uDc7YLQNYfjmtWduJbYXKA6Cv1K/q6miGRww+FLShqxUfGISAPwHG70dJpW+GTWYrBXxozYUNVW/BL4/R17c8UwEsCmBRlGAliNZxgJYIZnGAlghmcYCWCGZxgJYIZnGAlghmcYCfB/pYvM4RtQBQQAAAAASUVORK5CYII=\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from biocrnpyler import *\n", "try:\n", " #dnaplotlib is a cool library for plotting DNAs.\n", " #please use my fork located at https://github.com/dr3y/dnaplotlib\n", " #to install it type: pip install git+git://github.com/dr3y/dnaplotlib.git@master\n", " import dnaplotlib as dpl\n", " dpl_enabled = True\n", "except (ModuleNotFoundError,ImportError) as e:\n", " dpl_enabled = False\n", "\n", "print(\"imports done!\")\n", "\n", "#part definitions below\n", "\n", "ptet = RegulatedPromoter(\"ptet\",[\"tetr\"],leak=True) #this is a repressible promoter\n", "pconst = Promoter(\"pconst\") #constitutive promoter\n", "pcomb = CombinatorialPromoter(\"pcomb\",[\"arac\",\"laci\"], leak=False,\n", " tx_capable_list = [[\"arac\"], [\"laci\"]]) #the Combinations A and B or just A or just B be transcribed\n", "utr1 = RBS(\"UTR1\") #regular RBS\n", "utr2 = RBS(\"UTR1\") #regular RBS\n", "gfp = CDS(\"GFP\") #a CDS has a name and a protein name. so this one is called GFP and the protein is also called GFP\n", "fusrfp = CDS(\"fusRFP\",\"RFP\",no_stop_codons=[\"forward\"]) #you can say that a protein has no stop codon. This is a little different from a fusion protein, because in this case you are saying that the ribosome reads through two proteins but still produces two distinct proteins, rather than one fused protein. This can happen in the case of the ta peptide which causes a peptide bond not to be formed while making a protein.\n", "rfp = CDS(\"RFP\") #regular RFP\n", "cfp = CDS(\"CFP\") #cfp\n", "t16 = Terminator(\"t16\") #a terminator stops transcription\n", "\n", "\n", "#now that the parts are defined, we can put together our construct.\n", "construct_1 = DNA_construct([[ptet,\"forward\"],[utr1,\"forward\"],[gfp,\"forward\"],[t16,\"forward\"]])\n", "construct_2 = DNA_construct([[t16,\"reverse\"],[rfp,\"reverse\"],[utr1,\"reverse\"],[pconst,\"reverse\"]])\n", "\n", "#now, we are using dnaplotlib to plot the constructs\n", "\n", "\n", "if(dpl_enabled):\n", " cdict = {\"GFP\":\"green\",\"RFP\":\"red\",\"pconst\":\"black\",\"Terminator\":\"black\"}\n", " render_constructs([construct_1,construct_2],color_dictionary=cdict)\n", "#some very basic parameters are defined\n", "parameters={\"cooperativity\":2,\"kb\":100, \"ku\":10, \"ktx\":.05, \"ktl\":.2, \"kdeg\":2,\"kint\":.05}\n", "\n", "components = [construct_1,construct_2]\n", "myMixture = TxTlExtract(name = \"txtl\", parameters = parameters, components = components)\n", "\n", "print(\"enumerating components\")\n", "#comps = myMixture.get_component(construct_1).enumerate_components()\n", "\n", "myCRN = myMixture.compile_crn()\n", "\n", "x = myCRN.species\n", "print()\n", "print(\"CRN species\")\n", "print('\\n'.join([a.pretty_print() for a in x]))\n", "\n", "y = myCRN.reactions\n", "print()\n", "print(\"CRN reactions\")\n", "print('\\n'.join([str(a) for a in y]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can see that for the first construct, your DNA is given an automatic name: `ptet_f_UTR1_f_GFP_f_t16_f`. \n", "\n", "The RNA made from your DNA is also given an automatic name: `UTR1_f_GFP_f_t16_f`\n", "\n", "Likewise for the second construct, which I've made in reverse to make the difference more apparent. Though you'll see that the RNA from the second construct is still produced in the right orientation, so the RNA is shown in the forwards direction.\n", "\n", "This is because DNA and RNA are now represented as an OrderedPolymer. Each member of the OrderedPolymer represents a part. So, in the case of promoters or RBSes, you'll see ribosomes and polymerases bind directly to the part inside the OrderedPolymer." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " Loading BokehJS ...\n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = true;\n", "\n", " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " var JS_MIME_TYPE = 'application/javascript';\n", " var HTML_MIME_TYPE = 'text/html';\n", " var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " var CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " var script = document.createElement(\"script\");\n", " node.appendChild(script);\n", " }\n", "\n", " /**\n", " * Handle when an output is cleared or removed\n", " */\n", " function handleClearOutput(event, handle) {\n", " var cell = handle.cell;\n", "\n", " var id = cell.output_area._bokeh_element_id;\n", " var server_id = cell.output_area._bokeh_server_id;\n", " // Clean up Bokeh references\n", " if (id != null && id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", " cell.notebook.kernel.execute(cmd, {\n", " iopub: {\n", " output: function(msg) {\n", " var id = msg.content.text.trim();\n", " if (id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", "\n", " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", " // store reference to embed id on output_area\n", " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " }\n", " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " var bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " var script_attrs = bk_div.children[0].attributes;\n", " for (var i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", " }\n", "\n", " function register_renderer(events, OutputArea) {\n", "\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[toinsert.length - 1]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " /* Handle when an output is cleared or removed */\n", " events.on('clear_output.CodeCell', handleClearOutput);\n", " events.on('delete.Cell', handleClearOutput);\n", "\n", " /* Handle when a new output is added */\n", " events.on('output_added.OutputArea', handleAddOutput);\n", "\n", " /**\n", " * Register the mime type and append_mime function with output_area\n", " */\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " /* Is output safe? */\n", " safe: true,\n", " /* Index of renderer in `output_area.display_order` */\n", " index: 0\n", " });\n", " }\n", "\n", " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", " if (root.Jupyter !== undefined) {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", "\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " }\n", "\n", " \n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " var NB_LOAD_WARNING = {'data': {'text/html':\n", " \"
\\n\"+\n", " \"

\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"

\\n\"+\n", " \"
    \\n\"+\n", " \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n", " \"
  • use INLINE resources instead, as so:
  • \\n\"+\n", " \"
\\n\"+\n", " \"\\n\"+\n", " \"from bokeh.resources import INLINE\\n\"+\n", " \"output_notebook(resources=INLINE)\\n\"+\n", " \"\\n\"+\n", " \"
\"}};\n", "\n", " function display_loaded() {\n", " var el = document.getElementById(\"1001\");\n", " if (el != null) {\n", " el.textContent = \"BokehJS is loading...\";\n", " }\n", " if (root.Bokeh !== undefined) {\n", " if (el != null) {\n", " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", "\n", " function on_error() {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (var i = 0; i < css_urls.length; i++) {\n", " var url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " }\n", "\n", " const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\": \"T2yuo9Oe71Cz/I4X9Ac5+gpEa5a8PpJCDlqKYO0CfAuEszu1JrXLl8YugMqYe3sM\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\": \"98GDGJ0kOMCUMUePhksaQ/GYgB3+NH9h996V88sh3aOiUNX3N+fLXAtry6xctSZ6\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\": \"89bArO+nlbP3sgakeHjCo1JYxYR5wufVgA3IbUvDY+K7w4zyxJqssu7wVnfeKCq8\"};\n", "\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " if (url in hashes) {\n", " element.crossOrigin = \"anonymous\";\n", " element.integrity = \"sha384-\" + hashes[url];\n", " }\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " \n", " var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\"];\n", " var css_urls = [];\n", " \n", "\n", " var inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " function(Bokeh) {\n", " \n", " \n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " \n", " if (root.Bokeh !== undefined || force === true) {\n", " \n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", " if (force === true) {\n", " display_loaded();\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " } else if (force !== true) {\n", " var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", "\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(css_urls, js_urls, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"
    \\n\"+\n \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"1001\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\": \"T2yuo9Oe71Cz/I4X9Ac5+gpEa5a8PpJCDlqKYO0CfAuEszu1JrXLl8YugMqYe3sM\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\": \"98GDGJ0kOMCUMUePhksaQ/GYgB3+NH9h996V88sh3aOiUNX3N+fLXAtry6xctSZ6\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\": \"89bArO+nlbP3sgakeHjCo1JYxYR5wufVgA3IbUvDY+K7w4zyxJqssu7wVnfeKCq8\"};\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n if (url in hashes) {\n element.crossOrigin = \"anonymous\";\n element.integrity = \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "D:\\anaconda3\\lib\\site-packages\\bokeh\\plotting\\graph.py:120: UserWarning: Node keys in 'layout_function' don't match node keys in the graph. These nodes may not be displayed correctly.\n", " warn(\"Node keys in 'layout_function' don't match node keys in the graph. \"\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " \n", " var docs_json = {\"470daab5-0fe5-41e2-9b58-47836e8a2633\":{\"roots\":{\"references\":[{\"attributes\":{\"plot_height\":500,\"plot_width\":500,\"renderers\":[{\"id\":\"1035\"},{\"id\":\"1007\"},{\"id\":\"1021\"}],\"title\":{\"id\":\"1129\"},\"toolbar\":{\"id\":\"1116\"},\"x_range\":{\"id\":\"1077\"},\"x_scale\":{\"id\":\"1127\"},\"y_range\":{\"id\":\"1078\"},\"y_scale\":{\"id\":\"1130\"}},\"id\":\"1004\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1143\",\"type\":\"NodesOnly\"},{\"attributes\":{},\"id\":\"1166\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1148\",\"type\":\"NodesOnly\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"1042\"},\"inspection_policy\":{\"id\":\"1125\"},\"layout_provider\":{\"id\":\"1048\"},\"node_renderer\":{\"id\":\"1038\"},\"selection_policy\":{\"id\":\"1123\"}},\"id\":\"1035\",\"type\":\"GraphRenderer\"},{\"attributes\":{\"line_color\":{\"value\":\"#fdae61\"},\"line_join\":\"round\",\"line_width\":{\"value\":5}},\"id\":\"1059\",\"type\":\"MultiLine\"},{\"attributes\":{\"source\":{\"id\":\"1009\"}},\"id\":\"1011\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"#abdda4\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"1104\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1123\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{},\"id\":\"1170\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"attachment\":\"right\",\"callback\":null,\"renderers\":[{\"id\":\"1021\"}],\"tooltips\":[[\"name\",\"@species\"],[\"type\",\"@type\"]]},\"id\":\"1110\",\"type\":\"HoverTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1159\"}},\"id\":\"1113\",\"type\":\"BoxSelectTool\"},{\"attributes\":{},\"id\":\"1012\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"1127\",\"type\":\"LinearScale\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"1028\"},\"inspection_policy\":{\"id\":\"1158\"},\"layout_provider\":{\"id\":\"1034\"},\"node_renderer\":{\"id\":\"1024\"},\"selection_policy\":{\"id\":\"1153\"}},\"id\":\"1021\",\"type\":\"GraphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1109\"},{\"id\":\"1110\"},{\"id\":\"1111\"},{\"id\":\"1112\"},{\"id\":\"1113\"},{\"id\":\"1114\"},{\"id\":\"1115\"}]},\"id\":\"1116\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null,\"renderers\":[{\"id\":\"1035\"}],\"tooltips\":null},\"id\":\"1109\",\"type\":\"HoverTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1009\"},\"glyph\":{\"id\":\"1079\"},\"hover_glyph\":{\"id\":\"1089\"},\"muted_glyph\":null,\"selection_glyph\":{\"id\":\"1084\"},\"view\":{\"id\":\"1011\"}},\"id\":\"1010\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1158\",\"type\":\"NodesOnly\"},{\"attributes\":{\"data\":{\"end\":[],\"start\":[]},\"selected\":{\"id\":\"1165\"},\"selection_policy\":{\"id\":\"1164\"}},\"id\":\"1013\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"MultiLine\"},{\"attributes\":{\"data\":{\"color\":[\"purple\",\"white\",\"white\",\"green\",\"green\",\"green\",\"orange\",\"grey\",\"green\",\"grey\",\"grey\",\"orange\",\"grey\",\"grey\",\"green\",\"grey\",\"red\",\"cyan\",\"cyan\"],\"image\":[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],\"species\":[\"nothing\",\"dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse] in default.]\",\"protein[RNAP in default.]\",\"protein[Ribo in default.]\",\"protein[RNAase in default.]\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[tetr in default.]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse] in default.]\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[GFP in default.]\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"protein[RFP in default.]\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] in default.]\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]] in default.]\"],\"type\":[\"nothing\",\"dna\",\"dna\",\"protein\",\"protein\",\"protein\",\"rna\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"ordered_polymer\",\"rna\",\"ordered_polymer\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"protein\",\"complex\",\"complex\"]},\"selected\":{\"id\":\"1171\"},\"selection_policy\":{\"id\":\"1170\"}},\"id\":\"1023\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"graph_layout\":{\"0\":[106.11760504237719,-262.93328248224265],\"1\":[-68.46529709670848,53.73728821346814],\"10\":[-29.980392814972294,48.06963935625687],\"11\":[24.400694978062056,-84.42383871599905],\"12\":[-39.373585912767524,105.10849109833147],\"13\":[4.710084802746899,-36.376571968971305],\"14\":[139.3437518249315,117.2502273077492],\"15\":[-4.130506436734984,-101.43659787351196],\"16\":[88.25411892857018,134.0087275363648],\"17\":[44.65043390818529,-42.03836430945647],\"18\":[51.796388544104005,-91.30767927463494],\"19\":[-71.46199552383361,65.85780703441189],\"2\":[-50.189281730598616,99.26446780356507],\"20\":[-95.75625998806953,70.48883085360981],\"21\":[-62.56627823328759,45.24057029801405],\"22\":[-41.91618924023558,56.06363893237493],\"23\":[-20.25869593663629,41.36418122031112],\"24\":[-45.88445452275424,95.02125690833952],\"25\":[-33.353408068123635,114.2915017541421],\"26\":[9.764633023521347,-49.67652758273302],\"27\":[1.7989026916298945,-24.903832984457804],\"28\":[7.584978338950689,-85.14260585492438],\"29\":[-12.24181847573118,-114.3336896614136],\"3\":[-52.876917931298955,72.82886377469504],\"30\":[37.335247815421084,-50.600458236899875],\"31\":[49.84456069271992,-36.41342738497793],\"32\":[39.387858115348884,-81.08031470862291],\"33\":[59.382502806750686,-97.9600391861624],\"4\":[5.877005029165913,-67.49651058103053],\"5\":[40.0952999262234,-66.51695044730117],\"6\":[24.532874254872965,-47.86528633541896],\"7\":[-84.34400209766004,68.6623503857395],\"8\":[-65.3257234737653,39.414752136330215],\"9\":[-51.86660617319355,48.53543772070483]}},\"id\":\"1048\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{\"fill_alpha\":{\"value\":0},\"fill_color\":{\"field\":\"color\"},\"line_alpha\":{\"value\":0},\"size\":{\"units\":\"screen\",\"value\":12}},\"id\":\"1049\",\"type\":\"Circle\"},{\"attributes\":{\"graph_layout\":{\"0\":[106.11760504237719,-262.93328248224265],\"1\":[-68.46529709670848,53.73728821346814],\"10\":[-29.980392814972294,48.06963935625687],\"11\":[24.400694978062056,-84.42383871599905],\"12\":[-39.373585912767524,105.10849109833147],\"13\":[4.710084802746899,-36.376571968971305],\"14\":[139.3437518249315,117.2502273077492],\"15\":[-4.130506436734984,-101.43659787351196],\"16\":[88.25411892857018,134.0087275363648],\"17\":[44.65043390818529,-42.03836430945647],\"18\":[51.796388544104005,-91.30767927463494],\"19\":[-71.46199552383361,65.85780703441189],\"2\":[-50.189281730598616,99.26446780356507],\"20\":[-95.75625998806953,70.48883085360981],\"21\":[-62.56627823328759,45.24057029801405],\"22\":[-41.91618924023558,56.06363893237493],\"23\":[-20.25869593663629,41.36418122031112],\"24\":[-45.88445452275424,95.02125690833952],\"25\":[-33.353408068123635,114.2915017541421],\"26\":[9.764633023521347,-49.67652758273302],\"27\":[1.7989026916298945,-24.903832984457804],\"28\":[7.584978338950689,-85.14260585492438],\"29\":[-12.24181847573118,-114.3336896614136],\"3\":[-52.876917931298955,72.82886377469504],\"30\":[37.335247815421084,-50.600458236899875],\"31\":[49.84456069271992,-36.41342738497793],\"32\":[39.387858115348884,-81.08031470862291],\"33\":[59.382502806750686,-97.9600391861624],\"4\":[5.877005029165913,-67.49651058103053],\"5\":[40.0952999262234,-66.51695044730117],\"6\":[24.532874254872965,-47.86528633541896],\"7\":[-84.34400209766004,68.6623503857395],\"8\":[-65.3257234737653,39.414752136330215],\"9\":[-51.86660617319355,48.53543772070483]}},\"id\":\"1034\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{\"data_source\":{\"id\":\"1023\"},\"glyph\":{\"id\":\"1094\"},\"hover_glyph\":{\"id\":\"1104\"},\"muted_glyph\":null,\"selection_glyph\":{\"id\":\"1099\"},\"view\":{\"id\":\"1025\"}},\"id\":\"1024\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1041\"}},\"id\":\"1043\",\"type\":\"CDSView\"},{\"attributes\":{\"attachment\":\"right\",\"callback\":null,\"renderers\":[{\"id\":\"1007\"}],\"tooltips\":[[\"reaction\",\"@species\"],[\"type\",\"@type\"],[\"k_f\",\"@k\"],[\"k_r\",\"@k_r\"]]},\"id\":\"1111\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1153\",\"type\":\"NodesOnly\"},{\"attributes\":{\"callback\":null},\"id\":\"1112\",\"type\":\"TapTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#fdae61\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"1099\",\"type\":\"Circle\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"1014\"},\"inspection_policy\":{\"id\":\"1148\"},\"layout_provider\":{\"id\":\"1020\"},\"node_renderer\":{\"id\":\"1010\"},\"selection_policy\":{\"id\":\"1143\"}},\"id\":\"1007\",\"type\":\"GraphRenderer\"},{\"attributes\":{\"graph_layout\":{\"0\":[106.11760504237719,-262.93328248224265],\"1\":[-68.46529709670848,53.73728821346814],\"10\":[-29.980392814972294,48.06963935625687],\"11\":[24.400694978062056,-84.42383871599905],\"12\":[-39.373585912767524,105.10849109833147],\"13\":[4.710084802746899,-36.376571968971305],\"14\":[139.3437518249315,117.2502273077492],\"15\":[-4.130506436734984,-101.43659787351196],\"16\":[88.25411892857018,134.0087275363648],\"17\":[44.65043390818529,-42.03836430945647],\"18\":[51.796388544104005,-91.30767927463494],\"19\":[-71.46199552383361,65.85780703441189],\"2\":[-50.189281730598616,99.26446780356507],\"20\":[-95.75625998806953,70.48883085360981],\"21\":[-62.56627823328759,45.24057029801405],\"22\":[-41.91618924023558,56.06363893237493],\"23\":[-20.25869593663629,41.36418122031112],\"24\":[-45.88445452275424,95.02125690833952],\"25\":[-33.353408068123635,114.2915017541421],\"26\":[9.764633023521347,-49.67652758273302],\"27\":[1.7989026916298945,-24.903832984457804],\"28\":[7.584978338950689,-85.14260585492438],\"29\":[-12.24181847573118,-114.3336896614136],\"3\":[-52.876917931298955,72.82886377469504],\"30\":[37.335247815421084,-50.600458236899875],\"31\":[49.84456069271992,-36.41342738497793],\"32\":[39.387858115348884,-81.08031470862291],\"33\":[59.382502806750686,-97.9600391861624],\"4\":[5.877005029165913,-67.49651058103053],\"5\":[40.0952999262234,-66.51695044730117],\"6\":[24.532874254872965,-47.86528633541896],\"7\":[-84.34400209766004,68.6623503857395],\"8\":[-65.3257234737653,39.414752136330215],\"9\":[-51.86660617319355,48.53543772070483]}},\"id\":\"1020\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{\"fill_color\":{\"value\":\"#fdae61\"},\"size\":{\"units\":\"screen\",\"value\":8}},\"id\":\"1084\",\"type\":\"Square\"},{\"attributes\":{\"data_source\":{\"id\":\"1027\"},\"glyph\":{\"id\":\"1026\"},\"hover_glyph\":null,\"muted_glyph\":null,\"view\":{\"id\":\"1029\"}},\"id\":\"1028\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"field\":\"color\"},\"size\":{\"units\":\"screen\",\"value\":12}},\"id\":\"1094\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1160\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"color\":[\"purple\",\"white\",\"white\",\"green\",\"green\",\"green\",\"orange\",\"grey\",\"green\",\"grey\",\"grey\",\"orange\",\"grey\",\"grey\",\"green\",\"grey\",\"red\",\"cyan\",\"cyan\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"],\"image\":[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],\"k\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"0.2\",\"100\",\"0.2\",\"100\",\"2\",\"100\",\"2\"],\"k_r\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\"],\"species\":[\"nothing\",\"dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse] in default.]\",\"protein[RNAP in default.]\",\"protein[Ribo in default.]\",\"protein[RNAase in default.]\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[tetr in default.]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse] in default.]\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[GFP in default.]\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"protein[RFP in default.]\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] in default.]\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]] in default.]\",\"dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ktx).\\n\",\"2protein[tetr]+dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_tetr^2 * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ktx).\\n\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[GFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kdeg).\\n\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kdeg).\\n\"],\"type\":[\"nothing\",\"dna\",\"dna\",\"protein\",\"protein\",\"protein\",\"rna\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"ordered_polymer\",\"rna\",\"ordered_polymer\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"protein\",\"complex\",\"complex\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]},\"selected\":{\"id\":\"1163\"},\"selection_policy\":{\"id\":\"1162\"}},\"id\":\"1037\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1159\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1168\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"1037\"},\"glyph\":{\"id\":\"1049\"},\"hover_glyph\":null,\"muted_glyph\":null,\"view\":{\"id\":\"1039\"}},\"id\":\"1038\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1013\"}},\"id\":\"1015\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"#abdda4\"},\"size\":{\"units\":\"screen\",\"value\":8}},\"id\":\"1089\",\"type\":\"Square\"},{\"attributes\":{},\"id\":\"1162\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1125\",\"type\":\"EdgesAndLinkedNodes\"},{\"attributes\":{\"data\":{\"color\":[\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"],\"index\":[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],\"k\":[\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"0.2\",\"100\",\"0.2\",\"100\",\"2\",\"100\",\"2\"],\"k_r\":[\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\"],\"species\":[\"dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ktx).\\n\",\"2protein[tetr]+dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_tetr^2 * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ktx).\\n\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[GFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kdeg).\\n\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kdeg).\\n\"],\"type\":[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]},\"selected\":{\"id\":\"1167\"},\"selection_policy\":{\"id\":\"1166\"}},\"id\":\"1009\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1027\"}},\"id\":\"1029\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1163\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1114\",\"type\":\"PanTool\"},{\"attributes\":{\"data\":{\"end\":[19,21,24,19,22,24,26,28,30,32,26,30,19,20,21,21,22,22,23,28,32,24,25,26,27,28,29,30,31,32,33,1,3,7,1,6,3,8,1,9,9,3,10,9,6,3,2,3,12,2,11,3,6,4,13,6,14,4,11,4,15,11,16,4,6,5,17,5,11,5,18,5],\"start\":[1,1,2,3,3,3,4,4,5,5,6,6,7,7,8,9,9,10,10,11,11,12,12,13,13,15,15,17,17,18,18,19,19,19,20,20,20,21,21,21,22,22,22,23,23,23,24,24,24,25,25,25,26,26,26,27,27,27,28,28,28,29,29,29,30,30,30,31,32,32,32,33],\"weight\":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],\"xs\":[[-68.46529709670848,-70.62194407198673,-67.99577825040349,-71.46199552383361,-72.84962451787686,-70.62194407198673],[-68.46529709670848,-64.56232576866573,-67.08933907463302,-62.56627823328759,-62.982154171367284,-64.56232576866573],[-50.189281730598616,-48.37710298487928,-50.72328609540383,-45.88445452275424,-47.21332835268893,-48.37710298487928],[-52.876917931298955,-68.18493921703585,-68.28568087989234,-71.46199552383361,-66.52969870686383,-68.18493921703585],[-52.876917931298955,-43.83142135333392,-46.37816419775153,-41.91618924023558,-42.19318475153939,-43.83142135333392],[-52.876917931298955,-46.93627199649979,-44.8013018174659,-45.88445452275424,-49.570180520636924,-46.93627199649979],[5.877005029165913,9.018615723237918,11.284225892104292,9.764633023521347,6.399126058629448,9.018615723237918],[5.877005029165913,7.247787587178931,4.679441814098385,7.584978338950689,9.656184129644378,7.247787587178931],[40.0952999262234,37.933252384225455,40.53832556208798,37.335247815421084,35.611847634936325,37.933252384225455],[40.0952999262234,39.55767671510201,37.10089856934823,39.387858115348884,42.095009722553286,39.55767671510201],[24.532874254872965,13.238603442632778,13.758226201552839,9.764633023521347,14.366887373907492,13.238603442632778],[24.532874254872965,33.912491189786806,32.578358122488495,37.335247815421084,33.62301125472284,33.912491189786806],[-84.34400209766004,-74.88188630172102,-76.22483084972006,-71.46199552383361,-75.16119531742895,-74.88188630172102],[-84.34400209766004,-92.30024230908391,-91.0854612213164,-95.75625998806953,-91.87563273788074,-92.30024230908391],[-65.3257234737653,-64.06451266462811,-62.16049510287939,-62.56627823328759,-66.67923015902556,-64.06451266462811],[-51.86660617319355,-59.22128558749824,-59.16368043033004,-62.56627823328759,-57.69216573131456,-59.22128558749824],[-51.86660617319355,-44.70736047342336,-43.860996358097275,-41.91618924023558,-46.87773982023946,-44.70736047342336],[-29.980392814972294,-39.00815816889105,-36.9272525572555,-41.91618924023558,-39.70961511527612,-39.00815816889105],[-29.980392814972294,-23.139824390696138,-25.242620815530998,-20.25869593663629,-22.403715151404484,-23.139824390696138],[24.400694978062056,11.081785411057991,11.80439319103104,7.584978338950689,12.017917077093216,11.081785411057991],[24.400694978062056,35.97183414761291,35.705974063111256,39.387858115348884,34.61727492188403,35.97183414761291],[-39.373585912767524,-43.98639801724441,-45.63667790779944,-45.88445452275424,-41.43575927602381,-43.98639801724441],[-39.373585912767524,-35.27233009485371,-33.63669416563812,-33.353408068123635,-37.81822260783706,-35.27233009485371],[4.710084802746899,8.521249394529596,5.889418744375368,9.764633023521347,10.56327070450578,8.521249394529596],[4.710084802746899,2.6597385172704646,5.2871151552357984,1.7989026916298945,0.44070649514537874,2.6597385172704646],[-4.130506436734984,5.54177174735188,7.086957486824244,7.584978338950689,3.0273740096360324,5.54177174735188],[-4.130506436734984,-10.378465839888685,-12.052770991842308,-12.24181847573118,-7.820263905767781,-10.378465839888685],[44.65043390818529,39.608759295556986,38.24724438884576,37.335247815421084,42.04873323512,39.608759295556986],[44.65043390818529,47.47011700049691,48.74365153026203,49.84456069271992,45.07024540568968,47.47011700049691],[51.796388544104005,42.088697832877635,44.31934307836641,39.387858115348884,41.139218314988184,42.088697832877635],[51.796388544104005,56.75098029816443,54.478541246626,59.382502806750686,57.775134815257516,56.75098029816443],[-71.46199552383361,-69.30534854855536,-71.9315143701386,-68.46529709670848,-67.07766810266523,-69.30534854855536],[-71.46199552383361,-56.15397423809671,-56.05323257524022,-52.876917931298955,-57.809214748268744,-56.15397423809671],[-71.46199552383361,-80.92411131977262,-79.58116677177358,-84.34400209766004,-80.6448023040647,-80.92411131977262],[-95.75625998806953,-71.44819199886591,-73.46348611685814,-68.46529709670848,-70.84785882538007,-71.44819199886591],[-95.75625998806953,22.038015245129824,19.692911172440787,24.532874254872965,23.199662247882145,22.038015245129824],[-95.75625998806953,-56.37171776740983,-57.064382868581646,-52.876917931298955,-57.336839963198294,-56.37171776740983],[-62.56627823328759,-63.82748904242478,-65.7315066041735,-65.3257234737653,-61.21277154802732,-63.82748904242478],[-62.56627823328759,-66.46924956133034,-63.942236255363056,-68.46529709670848,-68.04942115862879,-66.46924956133034],[-62.56627823328759,-55.21159881898291,-55.269203976151104,-51.86660617319355,-56.74071867516659,-55.21159881898291],[-41.91618924023558,-49.07543494000578,-49.92179905533186,-51.86660617319355,-46.90505559318967,-49.07543494000578],[-41.91618924023558,-50.961685818200614,-48.414942973783006,-52.876917931298955,-52.599922419995146,-50.961685818200614],[-41.91618924023558,-32.88842388631682,-34.96932949795238,-29.980392814972294,-32.18696693993175,-32.88842388631682],[-20.25869593663629,-48.453352979381954,-47.09065428183135,-51.86660617319355,-48.196946706300864,-48.453352979381954],[-20.25869593663629,22.962669319271424,20.35595546255108,24.532874254872965,24.824543437541582,22.962669319271424],[-20.25869593663629,-50.35790272945599,-48.02478018039323,-52.876917931298955,-51.49610951844699,-50.35790272945599],[-45.88445452275424,-47.696633268473576,-45.35045015794903,-50.189281730598616,-48.86040790066392,-47.696633268473576],[-45.88445452275424,-51.825100457553404,-53.9600706365873,-52.876917931298955,-49.19119193341626,-51.825100457553404],[-45.88445452275424,-41.27164241827735,-39.621362527722326,-39.373585912767524,-43.822281159497955,-41.27164241827735],[-33.353408068123635,-47.57811498876913,-48.62353211614267,-50.189281730598616,-45.29406925379349,-47.57811498876913],[-33.353408068123635,23.423883609065747,20.79154119475408,24.400694978062056,25.59286744635215,23.423883609065747],[-33.353408068123635,-51.3858980461008,-53.29406043683302,-52.876917931298955,-48.77045800253814,-51.3858980461008],[9.764633023521347,21.058903835761534,20.539281076841473,24.532874254872965,19.93061990448682,21.058903835761534],[9.764633023521347,6.623022329449342,4.357412160582966,5.877005029165913,9.24251199405781,6.623022329449342],[9.764633023521347,5.953468431738649,8.58529908189288,4.710084802746899,3.911447121762465,5.953468431738649],[1.7989026916298945,22.070351495475983,19.709747176174346,24.532874254872965,23.26283771347118,22.070351495475983],[1.7989026916298945,136.90999244038468,138.1294098445002,139.3437518249315,134.53610108045902,136.90999244038468],[1.7989026916298945,5.543417647769698,2.9756787397451783,5.877005029165913,7.952916613812217,5.543417647769698],[7.584978338950689,20.903887905954754,20.181280125981704,24.400694978062056,19.967756239919527,20.903887905954754],[7.584978338950689,6.21419578093767,8.782541554018216,5.877005029165913,3.805799238472222,6.21419578093767],[7.584978338950689,-2.0872998451361737,-3.6324855846085375,-4.130506436734984,0.427097892579674,-2.0872998451361737],[-12.24181847573118,21.689293603159904,22.62707067857139,24.400694978062056,19.465340790348957,21.689293603159904],[-12.24181847573118,86.94120933608941,88.94725821412828,88.25411892857018,84.31237090026748,86.94120933608941],[-12.24181847573118,4.614234699504904,6.646348135669286,5.877005029165913,1.9831156808577295,4.614234699504904],[37.335247815421084,27.955630880507243,29.28976394780555,24.532874254872965,28.245110815571206,27.955630880507243],[37.335247815421084,39.49729535741903,36.892222179556505,40.0952999262234,41.818700106708164,39.49729535741903],[37.335247815421084,42.37692242804939,43.73843733476062,44.65043390818529,39.93694848848638,42.37692242804939],[49.84456069271992,41.173660717408346,39.0510429645746,40.0952999262234,43.80780785819007,41.173660717408346],[39.387858115348884,27.81671894579803,28.082579030299684,24.400694978062056,29.17127817152691,27.81671894579803],[39.387858115348884,39.92548132647027,42.38225947222406,40.0952999262234,37.388148319018995,39.92548132647027],[39.387858115348884,49.09554882657525,46.86490358108648,51.796388544104005,50.04502834446471,49.09554882657525],[59.382502806750686,41.9253452340009,44.49042477954248,40.0952999262234,40.22836286322383,41.9253452340009]],\"ys\":[[53.73728821346814,62.46011464718053,62.254289612034874,65.85780703441189,61.05421610939647,62.46011464718053],[53.73728821346814,48.11559973030006,47.37174852272629,45.24057029801405,50.223245001837924,48.11559973030006],[99.26446780356507,97.47822732823995,96.28050629250833,95.02125690833952,99.84143266697268,97.47822732823995],[72.82886377469504,67.08699455553186,69.71928670970273,65.85780703441189,65.03777769999165,67.08699455553186],[72.82886377469504,58.99312454472343,58.319914509182986,56.06363893237493,61.055960385037764,58.99312454472343],[72.82886377469504,91.6830418161198,90.13998860829429,95.02125690833952,91.64258499935936,91.6830418161198],[-67.49651058103053,-53.09609746616542,-54.44001763874782,-49.67652758273302,-53.37427863834292,-53.09609746616542],[-67.49651058103053,-81.65888623404219,-81.07347111855239,-85.14260585492438,-80.59177004459274,-81.65888623404219],[-66.51695044730117,-54.04899278590603,-54.43976715242196,-50.600458236899875,-55.29405939357106,-54.04899278590603],[-66.51695044730117,-77.58443690137938,-76.63398858080046,-81.08031470862291,-76.87658658044779,-77.58443690137938],[-47.86528633541896,-49.25046476208477,-46.66800410295423,-49.67652758273302,-51.630818987399124,-49.25046476208477],[-47.86528633541896,-49.86920104433584,-52.14058824740929,-50.600458236899875,-47.25093592507461,-49.86920104433584],[68.6623503857395,66.60235190701567,64.33616329868136,65.85780703441189,69.22172155280623,66.60235190701567],[68.6623503857395,69.93571079201477,72.27310630333652,70.48883085360981,67.33593819049993,69.93571079201477],[39.414752136330215,42.07745575871172,40.257063495462646,45.24057029801405,42.397398397377664,42.07745575871172],[48.53543772070483,46.27063058732489,48.904219870681786,45.24057029801405,44.12565894812556,46.27063058732489],[48.53543772070483,53.951918508875394,51.45736871946791,56.06363893237493,55.44475619545044,53.951918508875394],[48.06963935625687,54.11598514176049,55.73120732555079,56.06363893237493,51.576877223630035,54.11598514176049],[48.06963935625687,43.35141518519968,41.76479674863518,41.36418122031112,45.88069454014925,43.35141518519968],[-84.42383871599905,-84.99313913468086,-82.45996940806026,-85.14260585492438,-87.45540808249926,-84.99313913468086],[-84.42383871599905,-81.84240410748197,-84.4631729418154,-81.08031470862291,-79.58313870219257,-81.84240410748197],[105.10849109833147,97.96189995058246,100.01511380948132,95.02125690833952,97.30360451589584,97.96189995058246],[105.10849109833147,111.36443184460285,109.29953330602918,114.2915017541421,112.04085048707213,111.36443184460285],[-36.376571968971305,-46.40483121064173,-46.516984215297924,-49.67652758273302,-44.74072188816685,-46.40483121064173],[-36.376571968971305,-28.2963190465211,-28.486063268616604,-24.903832984457804,-29.715828733817418,-28.2963190465211],[-101.43659787351196,-87.98431428895613,-90.11774155466638,-85.14260585492438,-87.1988749952395,-87.98431428895613],[-101.43659787351196,-111.37093470116143,-109.33726483471649,-114.3336896614136,-111.99919717163434,-111.37093470116143],[-42.03836430945647,-47.93941604450791,-45.68433555229754,-50.600458236899875,-48.93220909534883,-47.93941604450791],[-42.03836430945647,-38.98481167217857,-41.29072161600565,-36.41342738497793,-37.89865919854421,-38.98481167217857],[-91.30767927463494,-83.30640204298767,-81.90521231410618,-81.08031470862291,-85.76355476771869,-83.30640204298767],[-91.30767927463494,-95.65242368812035,-96.98476434447959,-97.9600391861624,-93.22544647507064,-95.65242368812035],[65.85780703441189,57.1349806006995,57.34080563584516,53.73728821346814,58.54087913848356,57.1349806006995],[65.85780703441189,71.59967625357507,68.9673840994042,72.82886377469504,73.64889310911528,71.59967625357507],[65.85780703441189,67.91780551313572,70.18399412147004,68.6623503857395,65.29843586734516,67.91780551313572],[70.48883085360981,55.56822731750279,53.87184867889329,53.73728821346814,58.133127110546766,55.56822731750279],[70.48883085360981,-45.41056058261,-46.610392969154866,-47.86528633541896,-43.046308669521814,-45.41056058261],[70.48883085360981,72.63814380846338,70.09662341209366,72.82886377469504,75.08919460653777,72.63814380846338],[45.24057029801405,42.57786667563254,44.39825893888162,39.414752136330215,42.2579240369666,42.57786667563254],[45.24057029801405,50.86225878118213,51.6061099887559,53.73728821346814,48.754613509644265,50.86225878118213],[45.24057029801405,47.50537743139399,44.8717881480371,48.53543772070483,49.650349070593315,47.50537743139399],[56.06363893237493,50.64715814420436,53.14170793361185,48.53543772070483,49.15432045762932,50.64715814420436],[56.06363893237493,69.89937816234654,70.57258819788697,72.82886377469504,67.8365423220322,69.89937816234654],[56.06363893237493,50.01729314687131,48.40207096308101,48.06963935625687,52.556401065001765,50.01729314687131],[41.36418122031112,47.76103302357617,50.01539837267966,48.53543772070483,45.13932238152024,47.76103302357617],[41.36418122031112,-44.73727475292561,-45.11695058403262,-47.86528633541896,-42.87380067603042,-44.73727475292561],[41.36418122031112,70.3989332380574,71.62190095578323,72.82886377469504,68.02330781029329,70.3989332380574],[95.02125690833952,96.80749738366464,98.00521841939626,99.26446780356507,94.44429204493191,96.80749738366464],[95.02125690833952,76.16707886691476,77.71013207474027,72.82886377469504,76.2075356836752,76.16707886691476],[95.02125690833952,102.16784805608853,100.11463419718967,105.10849109833147,102.82614349077514,102.16784805608853],[114.2915017541421,101.5950918072095,104.01298632462309,99.26446780356507,100.28274812200954,101.5950918072095],[114.2915017541421,-81.0629103398804,-80.96349061668394,-84.42383871599905,-79.56804580383208,-81.0629103398804],[114.2915017541421,75.99538547870145,77.8114326031285,72.82886377469504,75.68140419570256,75.99538547870145],[-49.67652758273302,-48.29134915606721,-50.87380981519775,-47.86528633541896,-45.91099493075286,-48.29134915606721],[-49.67652758273302,-64.07694069759815,-62.73302052501574,-67.49651058103053,-63.798759525420635,-64.07694069759815],[-49.67652758273302,-39.6482683410626,-39.536115336406404,-36.376571968971305,-41.312377663537475,-39.6482683410626],[-24.903832984457804,-45.37812295931118,-46.5471644963145,-47.86528633541896,-43.029274840033096,-45.37812295931118],[-24.903832984457804,114.73491117292036,112.39993107405768,117.2502273077492,115.87673019483884,114.73491117292036],[-24.903832984457804,-64.0124440691836,-63.42437284240772,-67.49651058103053,-62.94781944041313,-64.0124440691836],[-85.14260585492438,-84.57330543624258,-87.10647516286318,-84.42383871599905,-82.11103648842418,-84.57330543624258],[-85.14260585492438,-70.98023020191273,-71.56564531740253,-67.49651058103053,-72.04734639136218,-70.98023020191273],[-85.14260585492438,-98.59488943948021,-96.46146217376996,-101.43659787351196,-99.38032873319683,-98.59488943948021],[-114.3336896614136,-86.63704963775476,-89.09869238689146,-84.42383871599905,-85.22526185131696,-86.63704963775476],[-114.3336896614136,130.76430641666224,129.05700481282545,134.0087275363648,130.93258994494082,130.76430641666224],[-114.3336896614136,-70.76077329939862,-72.43696715755013,-67.49651058103053,-70.63300954374868,-70.76077329939862],[-50.600458236899875,-48.596543527983,-46.32515632490954,-47.86528633541896,-51.214808647244226,-48.596543527983],[-50.600458236899875,-63.068415898295015,-62.67764153177909,-66.51695044730117,-61.823349290629984,-63.068415898295015],[-50.600458236899875,-44.699406501848436,-46.954486994058804,-42.03836430945647,-43.70661345100751,-44.699406501848436],[-36.41342738497793,-63.18721502177034,-61.62721350161094,-66.51695044730117,-63.16772891758944,-63.18721502177034],[-81.08031470862291,-83.66174931713999,-81.04098048280656,-84.42383871599905,-85.92101472242939,-83.66174931713999],[-81.08031470862291,-70.0128282545447,-70.96327657512361,-66.51695044730117,-70.72067857547628,-70.0128282545447],[-81.08031470862291,-89.08159194027017,-90.48278166915166,-91.30767927463494,-86.62443921553916,-89.08159194027017],[-97.9600391861624,-69.50039378872422,-68.90082911949423,-66.51695044730117,-71.51517955917637,-69.50039378872422]]},\"selected\":{\"id\":\"1161\"},\"selection_policy\":{\"id\":\"1160\"}},\"id\":\"1041\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1167\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1171\",\"type\":\"Selection\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1129\",\"type\":\"Title\"},{\"attributes\":{\"end\":140.21728796630927,\"start\":-120.54225009135806},\"id\":\"1078\",\"type\":\"Range1d\"},{\"attributes\":{\"source\":{\"id\":\"1037\"}},\"id\":\"1039\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1161\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1164\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"1041\"},\"glyph\":{\"id\":\"1054\"},\"hover_glyph\":{\"id\":\"1064\"},\"muted_glyph\":null,\"selection_glyph\":{\"id\":\"1059\"},\"view\":{\"id\":\"1043\"}},\"id\":\"1042\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"end\":[],\"start\":[]},\"selected\":{\"id\":\"1169\"},\"selection_policy\":{\"id\":\"1168\"}},\"id\":\"1027\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1165\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1130\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_color\":{\"value\":\"#abdda4\"},\"line_join\":\"round\",\"line_width\":{\"value\":5}},\"id\":\"1064\",\"type\":\"MultiLine\"},{\"attributes\":{\"end\":152.17351494726466,\"start\":-108.58602311040268},\"id\":\"1077\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"1115\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"line_join\":\"round\",\"line_width\":{\"value\":4}},\"id\":\"1054\",\"type\":\"MultiLine\"},{\"attributes\":{\"source\":{\"id\":\"1023\"}},\"id\":\"1025\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1169\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"1013\"},\"glyph\":{\"id\":\"1012\"},\"hover_glyph\":null,\"muted_glyph\":null,\"view\":{\"id\":\"1015\"}},\"id\":\"1014\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"field\":\"color\"},\"size\":{\"units\":\"screen\",\"value\":8}},\"id\":\"1079\",\"type\":\"Square\"}],\"root_ids\":[\"1004\"]},\"title\":\"Bokeh Application\",\"version\":\"2.2.3\"}};\n", " var render_items = [{\"docid\":\"470daab5-0fe5-41e2-9b58-47836e8a2633\",\"root_ids\":[\"1004\"],\"roots\":{\"1004\":\"4dad50ce-dcd7-4c73-a10f-181db740fc61\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " var attempts = 0;\n", " var timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1004" } }, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "D:\\anaconda3\\lib\\importlib\\_bootstrap.py:219: RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 192 from C header, got 216 from PyObject\n", " return f(*args, **kwds)\n" ] }, { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#here we are plotting the network diagram and simulating the system with some basic parameters\n", "\n", "plotNetwork(myCRN,colordict_append={\"GFP\":\"green\",\"RFP\":\"red\"})\n", "try:\n", " import numpy as np\n", " import matplotlib.pyplot as plt\n", " timepoints = np.linspace(0, 200, 1000)\n", " x0 = {construct_1.get_species():5.0,\n", " construct_2.get_species():2.0, \"protein_RNAP\":10., \"protein_Ribo\":50.}\n", " Re1 = myCRN.simulate_with_bioscrape_via_sbml(timepoints, initial_condition_dict = x0)\n", " if(Re1 is not None):\n", " plt.plot(timepoints,Re1[\"protein_GFP\"], label = \"protein_GFP\")\n", " plt.plot(timepoints,Re1[\"protein_RFP\"], label = \"protein_RFP\")\n", " plt.title(\"Time trace of two DNA system\")\n", " plt.xlabel(\"time\")\n", " plt.ylabel(\"protein\")\n", " plt.legend()\n", "except ModuleNotFoundError:\n", " print('please install the plotting libraries: pip install biocrnpyler[all]')\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That seems pretty straightforward but now let's see what happens if we put both on the same piece of DNA:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "d:\\documents\\github\\biocrnpyler\\biocrnpyler\\plotting.py:500: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", " plt.tight_layout(pad=0.0001)\n", "0\n", "0\n", "d:\\documents\\github\\biocrnpyler\\biocrnpyler\\chemical_reaction_network.py:364: UserWarning: Trying to set species that is not in model: protein_arac\n", " m.set_species(processed)\n" ] }, { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "construct_3 = DNA_construct([[ptet,\"forward\"],[utr1,\"forward\"],[gfp,\"forward\"],[t16,\"forward\"],[t16,\"reverse\"],[rfp,\"reverse\"],[utr1,\"reverse\"],[pconst,\"reverse\"]])\n", "#now, we are using dnaplotlib to plot the constructs\n", "\n", "if(dpl_enabled):\n", " render_constructs([construct_3])\n", "\n", "#some very basic parameters are defined\n", "parameters={\"cooperativity\":2,\"kb\":100, \"ku\":10, \"ktx\":.05, \"ktl\":.2, \"kdeg\":2,\"kint\":.05}\n", "\n", "components = [construct_3]\n", "myMixture = TxTlExtract(name = \"txtl\", parameters = parameters, components = components)\n", "myCRN = myMixture.compile_crn()\n", "''\n", "try:\n", " import numpy as np\n", " import matplotlib.pyplot as plt\n", " timepoints = np.linspace(0, 200, 1000)\n", " x0 = {construct_3.get_species():5.0, \"protein_GFP\":20,\"protein_RNAP\":10., \"protein_Ribo\":50.,\"protein_arac\":20}\n", " #I started the GFP at a slightly elevated value so you can see the two lines on top of each other in the graph\n", " Re1 = myCRN.simulate_with_bioscrape_via_sbml(timepoints, initial_condition_dict = x0)\n", " if(Re1 is not None):\n", " plt.figure()\n", " plt.plot(timepoints,Re1[\"protein_GFP\"], label = \"protein_GFP\")\n", " plt.plot(timepoints,Re1[\"protein_RFP\"], label = \"protein_RFP\")\n", " #plt.plot(timepoints,Re1[\"rna_mydna\"], label = \"rna_mydna\")\n", " #plt.gca().set_yscale(\"log\")\n", " plt.title(\"Time trace of single DNA system\")\n", " plt.xlabel(\"time\")\n", " plt.ylabel(\"protein\")\n", " plt.legend()\n", " \n", "except ModuleNotFoundError:\n", " print('please install the plotting libraries: pip install biocrnpyler[all]')\n", "#'''" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The same RNAs and proteins are made, but the network diagram should be a bit more complicated, owing to the combinatorial binding to the DNA molecule" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " Loading BokehJS ...\n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = true;\n", "\n", " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " var JS_MIME_TYPE = 'application/javascript';\n", " var HTML_MIME_TYPE = 'text/html';\n", " var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " var CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " var script = document.createElement(\"script\");\n", " node.appendChild(script);\n", " }\n", "\n", " /**\n", " * Handle when an output is cleared or removed\n", " */\n", " function handleClearOutput(event, handle) {\n", " var cell = handle.cell;\n", "\n", " var id = cell.output_area._bokeh_element_id;\n", " var server_id = cell.output_area._bokeh_server_id;\n", " // Clean up Bokeh references\n", " if (id != null && id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", " cell.notebook.kernel.execute(cmd, {\n", " iopub: {\n", " output: function(msg) {\n", " var id = msg.content.text.trim();\n", " if (id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", "\n", " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", " // store reference to embed id on output_area\n", " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " }\n", " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " var bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " var script_attrs = bk_div.children[0].attributes;\n", " for (var i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", " }\n", "\n", " function register_renderer(events, OutputArea) {\n", "\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[toinsert.length - 1]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " /* Handle when an output is cleared or removed */\n", " events.on('clear_output.CodeCell', handleClearOutput);\n", " events.on('delete.Cell', handleClearOutput);\n", "\n", " /* Handle when a new output is added */\n", " events.on('output_added.OutputArea', handleAddOutput);\n", "\n", " /**\n", " * Register the mime type and append_mime function with output_area\n", " */\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " /* Is output safe? */\n", " safe: true,\n", " /* Index of renderer in `output_area.display_order` */\n", " index: 0\n", " });\n", " }\n", "\n", " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", " if (root.Jupyter !== undefined) {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", "\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " }\n", "\n", " \n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " var NB_LOAD_WARNING = {'data': {'text/html':\n", " \"
\\n\"+\n", " \"

\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"

\\n\"+\n", " \"
    \\n\"+\n", " \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n", " \"
  • use INLINE resources instead, as so:
  • \\n\"+\n", " \"
\\n\"+\n", " \"\\n\"+\n", " \"from bokeh.resources import INLINE\\n\"+\n", " \"output_notebook(resources=INLINE)\\n\"+\n", " \"\\n\"+\n", " \"
\"}};\n", "\n", " function display_loaded() {\n", " var el = document.getElementById(\"1441\");\n", " if (el != null) {\n", " el.textContent = \"BokehJS is loading...\";\n", " }\n", " if (root.Bokeh !== undefined) {\n", " if (el != null) {\n", " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", "\n", " function on_error() {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (var i = 0; i < css_urls.length; i++) {\n", " var url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " }\n", "\n", " const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\": \"T2yuo9Oe71Cz/I4X9Ac5+gpEa5a8PpJCDlqKYO0CfAuEszu1JrXLl8YugMqYe3sM\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\": \"98GDGJ0kOMCUMUePhksaQ/GYgB3+NH9h996V88sh3aOiUNX3N+fLXAtry6xctSZ6\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\": \"89bArO+nlbP3sgakeHjCo1JYxYR5wufVgA3IbUvDY+K7w4zyxJqssu7wVnfeKCq8\"};\n", "\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " if (url in hashes) {\n", " element.crossOrigin = \"anonymous\";\n", " element.integrity = \"sha384-\" + hashes[url];\n", " }\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " \n", " var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\"];\n", " var css_urls = [];\n", " \n", "\n", " var inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " function(Bokeh) {\n", " \n", " \n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " \n", " if (root.Bokeh !== undefined || force === true) {\n", " \n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", " if (force === true) {\n", " display_loaded();\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " } else if (force !== true) {\n", " var cell = $(document.getElementById(\"1441\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", "\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(css_urls, js_urls, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"
    \\n\"+\n \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"1441\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\": \"T2yuo9Oe71Cz/I4X9Ac5+gpEa5a8PpJCDlqKYO0CfAuEszu1JrXLl8YugMqYe3sM\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\": \"98GDGJ0kOMCUMUePhksaQ/GYgB3+NH9h996V88sh3aOiUNX3N+fLXAtry6xctSZ6\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\": \"89bArO+nlbP3sgakeHjCo1JYxYR5wufVgA3IbUvDY+K7w4zyxJqssu7wVnfeKCq8\"};\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n if (url in hashes) {\n element.crossOrigin = \"anonymous\";\n element.integrity = \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"1441\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "D:\\anaconda3\\lib\\site-packages\\bokeh\\plotting\\graph.py:120: UserWarning: Node keys in 'layout_function' don't match node keys in the graph. These nodes may not be displayed correctly.\n", " warn(\"Node keys in 'layout_function' don't match node keys in the graph. \"\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " \n", " var docs_json = {\"a771ced5-9e42-415b-b792-76e7e82752f4\":{\"roots\":{\"references\":[{\"attributes\":{\"plot_height\":500,\"plot_width\":500,\"renderers\":[{\"id\":\"1475\"},{\"id\":\"1447\"},{\"id\":\"1461\"}],\"title\":{\"id\":\"1614\"},\"toolbar\":{\"id\":\"1556\"},\"x_range\":{\"id\":\"1517\"},\"x_scale\":{\"id\":\"1612\"},\"y_range\":{\"id\":\"1518\"},\"y_scale\":{\"id\":\"1615\"}},\"id\":\"1444\",\"type\":\"Plot\"},{\"attributes\":{\"attachment\":\"right\",\"callback\":null,\"renderers\":[{\"id\":\"1461\"}],\"tooltips\":[[\"name\",\"@species\"],[\"type\",\"@type\"]]},\"id\":\"1550\",\"type\":\"HoverTool\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"line_join\":\"round\",\"line_width\":{\"value\":4}},\"id\":\"1494\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"1466\",\"type\":\"MultiLine\"},{\"attributes\":{\"line_color\":{\"value\":\"#abdda4\"},\"line_join\":\"round\",\"line_width\":{\"value\":5}},\"id\":\"1504\",\"type\":\"MultiLine\"},{\"attributes\":{\"fill_color\":{\"value\":\"#abdda4\"},\"size\":{\"units\":\"screen\",\"value\":8}},\"id\":\"1529\",\"type\":\"Square\"},{\"attributes\":{},\"id\":\"1650\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"1467\"},\"glyph\":{\"id\":\"1466\"},\"hover_glyph\":null,\"muted_glyph\":null,\"view\":{\"id\":\"1469\"}},\"id\":\"1468\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1449\"}},\"id\":\"1451\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1652\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1649\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null,\"renderers\":[{\"id\":\"1475\"}],\"tooltips\":null},\"id\":\"1549\",\"type\":\"HoverTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#fdae61\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"1539\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1651\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"graph_layout\":{\"0\":[193.34979810507585,-328.43857861040004],\"1\":[-15.408808410057382,34.120057612459796],\"10\":[-54.31668590782461,29.333242141983707],\"11\":[-39.990749903319816,-14.145833282443474],\"12\":[-7.063950776269258,14.406559735661327],\"13\":[6.012361933939273,-196.90681899395184],\"14\":[0.4565247576410238,46.33855476425635],\"15\":[34.44130309737679,-206.94724603380246],\"16\":[-118.25321001915938,354.0992155429337],\"17\":[-4.4571956202508405,-235.76593480289466],\"18\":[-326.61393587288035,-148.57942117252932],\"19\":[-43.44075754132045,-207.2396079507861],\"2\":[15.18751000587711,16.453030839026532],\"20\":[-10.130357799201677,-179.16739685797882],\"21\":[29.65014287047774,41.44759144519359],\"22\":[31.812062623083,79.91956227077118],\"23\":[66.34512327963203,34.81746855950189],\"24\":[105.44974815339019,60.296604970686815],\"25\":[-40.39369718802299,11.798955739054225],\"26\":[-58.68328602898001,-22.54803078942962],\"27\":[-13.068532259317921,-4.735577733170372],\"28\":[-41.65339671095221,-31.775199063377126],\"29\":[7.158407055811285,46.2519622941915],\"3\":[9.832728990622389,-218.95254749278425],\"30\":[50.10803019280842,52.983179356233336],\"31\":[97.04497145491578,76.15576939962486],\"32\":[-30.45411772639522,31.78301316099395],\"33\":[-77.12747248205311,38.8377784540872],\"34\":[4.051313562264941,36.525156008911246],\"35\":[47.863949073497956,19.28729972363236],\"36\":[79.47664403551758,8.130496825095948],\"37\":[-7.722093798299576,23.405970583844294],\"38\":[-19.56220415998457,6.546221870088146],\"39\":[18.30874489472244,-207.15248749315364],\"4\":[-21.446759438247838,-197.65071268051597],\"40\":[46.95392907375277,-208.0332556681328],\"41\":[-4.670528669543061,-223.6567627256207],\"42\":[-4.1704798148440245,-246.3266064007695],\"43\":[-29.51598534354752,-207.20112061319807],\"44\":[-51.2938936853726,-206.98051350174939],\"45\":[-8.670668514844412,-190.0662520578278],\"46\":[-11.04046361208278,-171.94102391865422],\"5\":[30.282305006486286,31.053561151214716],\"6\":[-19.23657134611999,-215.43528665071378],\"7\":[30.47647754810504,59.21273054905956],\"8\":[66.80977276009385,18.52099894239906],\"9\":[82.92785263764821,58.120720072880204]}},\"id\":\"1460\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{},\"id\":\"1628\",\"type\":\"NodesOnly\"},{\"attributes\":{\"fill_alpha\":{\"value\":0},\"fill_color\":{\"field\":\"color\"},\"line_alpha\":{\"value\":0},\"size\":{\"units\":\"screen\",\"value\":12}},\"id\":\"1489\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1654\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1633\",\"type\":\"NodesOnly\"},{\"attributes\":{\"data\":{\"end\":[],\"start\":[]},\"selected\":{\"id\":\"1650\"},\"selection_policy\":{\"id\":\"1649\"}},\"id\":\"1453\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1653\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"overlay\":{\"id\":\"1644\"}},\"id\":\"1553\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"source\":{\"id\":\"1453\"}},\"id\":\"1455\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1656\",\"type\":\"Selection\"},{\"attributes\":{\"attachment\":\"right\",\"callback\":null,\"renderers\":[{\"id\":\"1447\"}],\"tooltips\":[[\"reaction\",\"@species\"],[\"type\",\"@type\"],[\"k_f\",\"@k\"],[\"k_r\",\"@k_r\"]]},\"id\":\"1551\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1615\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"1552\",\"type\":\"TapTool\"},{\"attributes\":{\"source\":{\"id\":\"1463\"}},\"id\":\"1465\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1655\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"1454\"},\"inspection_policy\":{\"id\":\"1633\"},\"layout_provider\":{\"id\":\"1460\"},\"node_renderer\":{\"id\":\"1450\"},\"selection_policy\":{\"id\":\"1628\"}},\"id\":\"1447\",\"type\":\"GraphRenderer\"},{\"attributes\":{},\"id\":\"1643\",\"type\":\"NodesOnly\"},{\"attributes\":{},\"id\":\"1554\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1555\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#fdae61\"},\"size\":{\"units\":\"screen\",\"value\":8}},\"id\":\"1524\",\"type\":\"Square\"},{\"attributes\":{},\"id\":\"1563\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{\"source\":{\"id\":\"1481\"}},\"id\":\"1483\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1467\"}},\"id\":\"1469\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1565\",\"type\":\"EdgesAndLinkedNodes\"},{\"attributes\":{\"data_source\":{\"id\":\"1449\"},\"glyph\":{\"id\":\"1519\"},\"hover_glyph\":{\"id\":\"1529\"},\"muted_glyph\":null,\"selection_glyph\":{\"id\":\"1524\"},\"view\":{\"id\":\"1451\"}},\"id\":\"1450\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1549\"},{\"id\":\"1550\"},{\"id\":\"1551\"},{\"id\":\"1552\"},{\"id\":\"1553\"},{\"id\":\"1554\"},{\"id\":\"1555\"}]},\"id\":\"1556\",\"type\":\"Toolbar\"},{\"attributes\":{\"data_source\":{\"id\":\"1481\"},\"glyph\":{\"id\":\"1494\"},\"hover_glyph\":{\"id\":\"1504\"},\"muted_glyph\":null,\"selection_glyph\":{\"id\":\"1499\"},\"view\":{\"id\":\"1483\"}},\"id\":\"1482\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"color\":[\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"],\"index\":[21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],\"k\":[\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"0.2\",\"100\",\"0.2\",\"100\",\"2\",\"100\",\"2\"],\"k_r\":[\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\"],\"species\":[\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * ordered_polymer_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ktx).\\n\",\"2protein[tetr]+ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * protein_tetr^2 * ordered_polymer_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ktx).\\n\",\"dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]\\n Kf=k_forward * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]] --> dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ktx).\\n\",\"2protein[tetr]+dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]\\n Kf=k_forward * protein_tetr^2 * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ktx).\\n\",\"dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[GFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kdeg).\\n\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kdeg).\\n\"],\"type\":[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]},\"selected\":{\"id\":\"1652\"},\"selection_policy\":{\"id\":\"1651\"}},\"id\":\"1449\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1638\",\"type\":\"NodesOnly\"},{\"attributes\":{\"data_source\":{\"id\":\"1477\"},\"glyph\":{\"id\":\"1489\"},\"hover_glyph\":null,\"muted_glyph\":null,\"view\":{\"id\":\"1479\"}},\"id\":\"1478\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"end\":[],\"start\":[]},\"selected\":{\"id\":\"1654\"},\"selection_policy\":{\"id\":\"1653\"}},\"id\":\"1467\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"end\":204.6414626606991,\"start\":-425.80565038018926},\"id\":\"1517\",\"type\":\"Range1d\"},{\"attributes\":{\"data\":{\"color\":[\"purple\",\"white\",\"green\",\"green\",\"green\",\"grey\",\"orange\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"orange\",\"green\",\"grey\",\"lightgreen\",\"grey\",\"red\",\"cyan\",\"cyan\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"],\"image\":[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],\"k\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"0.2\",\"100\",\"0.2\",\"100\",\"2\",\"100\",\"2\"],\"k_r\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\"],\"species\":[\"nothing\",\"dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse] in default.]\",\"protein[RNAP in default.]\",\"protein[Ribo in default.]\",\"protein[RNAase in default.]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse] in default.]\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse] in default.]\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse] in default.]\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse] in default.]\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse] in default.]\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse] in default.]\",\"ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse] in default.]\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[tetr in default.]\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[GFP in default.]\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"protein[RFP in default.]\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]] in default.]\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] in default.]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * ordered_polymer_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ktx).\\n\",\"2protein[tetr]+ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * protein_tetr^2 * ordered_polymer_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ktx).\\n\",\"dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]\\n Kf=k_forward * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]] --> dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_leak, name=ktx).\\n\",\"2protein[tetr]+dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]] <--> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]\\n Kf=k_forward * protein_tetr^2 * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n Kr=k_reverse * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]\\n Kf=k_forward * ordered_polymer_complex_part_ptet_protein_tetr_2x_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ku).\\n\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]] --> ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_complex_complex_part_ptet_protein_tetr_2x__protein_RNAP_forward__part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=ptet_tetr, name=ktx).\\n\",\"dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+protein[RNAP] <--> ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]]\\n Kf=k_forward * dna_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_pconst_reverse_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse]] --> dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse]]+rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_ptet_forward_part_UTR1_forward_part_GFP_forward_part_t16_forward_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_pconst_protein_RNAP_reverse__\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[GFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]] --> rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kdeg).\\n\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kdeg).\\n\"],\"type\":[\"nothing\",\"dna\",\"protein\",\"protein\",\"protein\",\"ordered_polymer\",\"rna\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"rna\",\"protein\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"protein\",\"complex\",\"complex\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]},\"selected\":{\"id\":\"1648\"},\"selection_policy\":{\"id\":\"1647\"}},\"id\":\"1477\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"color\":[\"purple\",\"white\",\"green\",\"green\",\"green\",\"grey\",\"orange\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"orange\",\"green\",\"grey\",\"lightgreen\",\"grey\",\"red\",\"cyan\",\"cyan\"],\"image\":[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],\"species\":[\"nothing\",\"dna[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse] in default.]\",\"protein[RNAP in default.]\",\"protein[Ribo in default.]\",\"protein[RNAase in default.]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse] in default.]\",\"rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[complex[part[ptet]:2x_protein[tetr]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse] in default.]\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse] in default.]\",\"ordered_polymer[complex[complex[part[ptet]:2x_protein[tetr]]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse] in default.]\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[pconst-reverse] in default.]\",\"ordered_polymer[complex[part[ptet]:protein[RNAP]-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse] in default.]\",\"ordered_polymer[part[ptet-forward]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]:part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[pconst]:protein[RNAP]-reverse] in default.]\",\"rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[tetr in default.]\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[GFP in default.]\",\"ordered_polymer[complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"protein[RFP in default.]\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[RFP-forward]:part[t16-forward]] in default.]\",\"complex[protein[RNAase]:rna[part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] in default.]\"],\"type\":[\"nothing\",\"dna\",\"protein\",\"protein\",\"protein\",\"ordered_polymer\",\"rna\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"rna\",\"protein\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"protein\",\"complex\",\"complex\"]},\"selected\":{\"id\":\"1656\"},\"selection_policy\":{\"id\":\"1655\"}},\"id\":\"1463\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1612\",\"type\":\"LinearScale\"},{\"attributes\":{\"graph_layout\":{\"0\":[193.34979810507585,-328.43857861040004],\"1\":[-15.408808410057382,34.120057612459796],\"10\":[-54.31668590782461,29.333242141983707],\"11\":[-39.990749903319816,-14.145833282443474],\"12\":[-7.063950776269258,14.406559735661327],\"13\":[6.012361933939273,-196.90681899395184],\"14\":[0.4565247576410238,46.33855476425635],\"15\":[34.44130309737679,-206.94724603380246],\"16\":[-118.25321001915938,354.0992155429337],\"17\":[-4.4571956202508405,-235.76593480289466],\"18\":[-326.61393587288035,-148.57942117252932],\"19\":[-43.44075754132045,-207.2396079507861],\"2\":[15.18751000587711,16.453030839026532],\"20\":[-10.130357799201677,-179.16739685797882],\"21\":[29.65014287047774,41.44759144519359],\"22\":[31.812062623083,79.91956227077118],\"23\":[66.34512327963203,34.81746855950189],\"24\":[105.44974815339019,60.296604970686815],\"25\":[-40.39369718802299,11.798955739054225],\"26\":[-58.68328602898001,-22.54803078942962],\"27\":[-13.068532259317921,-4.735577733170372],\"28\":[-41.65339671095221,-31.775199063377126],\"29\":[7.158407055811285,46.2519622941915],\"3\":[9.832728990622389,-218.95254749278425],\"30\":[50.10803019280842,52.983179356233336],\"31\":[97.04497145491578,76.15576939962486],\"32\":[-30.45411772639522,31.78301316099395],\"33\":[-77.12747248205311,38.8377784540872],\"34\":[4.051313562264941,36.525156008911246],\"35\":[47.863949073497956,19.28729972363236],\"36\":[79.47664403551758,8.130496825095948],\"37\":[-7.722093798299576,23.405970583844294],\"38\":[-19.56220415998457,6.546221870088146],\"39\":[18.30874489472244,-207.15248749315364],\"4\":[-21.446759438247838,-197.65071268051597],\"40\":[46.95392907375277,-208.0332556681328],\"41\":[-4.670528669543061,-223.6567627256207],\"42\":[-4.1704798148440245,-246.3266064007695],\"43\":[-29.51598534354752,-207.20112061319807],\"44\":[-51.2938936853726,-206.98051350174939],\"45\":[-8.670668514844412,-190.0662520578278],\"46\":[-11.04046361208278,-171.94102391865422],\"5\":[30.282305006486286,31.053561151214716],\"6\":[-19.23657134611999,-215.43528665071378],\"7\":[30.47647754810504,59.21273054905956],\"8\":[66.80977276009385,18.52099894239906],\"9\":[82.92785263764821,58.120720072880204]}},\"id\":\"1488\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"1468\"},\"inspection_policy\":{\"id\":\"1643\"},\"layout_provider\":{\"id\":\"1474\"},\"node_renderer\":{\"id\":\"1464\"},\"selection_policy\":{\"id\":\"1638\"}},\"id\":\"1461\",\"type\":\"GraphRenderer\"},{\"attributes\":{},\"id\":\"1645\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1644\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"1482\"},\"inspection_policy\":{\"id\":\"1565\"},\"layout_provider\":{\"id\":\"1488\"},\"node_renderer\":{\"id\":\"1478\"},\"selection_policy\":{\"id\":\"1563\"}},\"id\":\"1475\",\"type\":\"GraphRenderer\"},{\"attributes\":{},\"id\":\"1452\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"1647\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"end\":369.1098610915262,\"start\":-261.3372519493621},\"id\":\"1518\",\"type\":\"Range1d\"},{\"attributes\":{\"graph_layout\":{\"0\":[193.34979810507585,-328.43857861040004],\"1\":[-15.408808410057382,34.120057612459796],\"10\":[-54.31668590782461,29.333242141983707],\"11\":[-39.990749903319816,-14.145833282443474],\"12\":[-7.063950776269258,14.406559735661327],\"13\":[6.012361933939273,-196.90681899395184],\"14\":[0.4565247576410238,46.33855476425635],\"15\":[34.44130309737679,-206.94724603380246],\"16\":[-118.25321001915938,354.0992155429337],\"17\":[-4.4571956202508405,-235.76593480289466],\"18\":[-326.61393587288035,-148.57942117252932],\"19\":[-43.44075754132045,-207.2396079507861],\"2\":[15.18751000587711,16.453030839026532],\"20\":[-10.130357799201677,-179.16739685797882],\"21\":[29.65014287047774,41.44759144519359],\"22\":[31.812062623083,79.91956227077118],\"23\":[66.34512327963203,34.81746855950189],\"24\":[105.44974815339019,60.296604970686815],\"25\":[-40.39369718802299,11.798955739054225],\"26\":[-58.68328602898001,-22.54803078942962],\"27\":[-13.068532259317921,-4.735577733170372],\"28\":[-41.65339671095221,-31.775199063377126],\"29\":[7.158407055811285,46.2519622941915],\"3\":[9.832728990622389,-218.95254749278425],\"30\":[50.10803019280842,52.983179356233336],\"31\":[97.04497145491578,76.15576939962486],\"32\":[-30.45411772639522,31.78301316099395],\"33\":[-77.12747248205311,38.8377784540872],\"34\":[4.051313562264941,36.525156008911246],\"35\":[47.863949073497956,19.28729972363236],\"36\":[79.47664403551758,8.130496825095948],\"37\":[-7.722093798299576,23.405970583844294],\"38\":[-19.56220415998457,6.546221870088146],\"39\":[18.30874489472244,-207.15248749315364],\"4\":[-21.446759438247838,-197.65071268051597],\"40\":[46.95392907375277,-208.0332556681328],\"41\":[-4.670528669543061,-223.6567627256207],\"42\":[-4.1704798148440245,-246.3266064007695],\"43\":[-29.51598534354752,-207.20112061319807],\"44\":[-51.2938936853726,-206.98051350174939],\"45\":[-8.670668514844412,-190.0662520578278],\"46\":[-11.04046361208278,-171.94102391865422],\"5\":[30.282305006486286,31.053561151214716],\"6\":[-19.23657134611999,-215.43528665071378],\"7\":[30.47647754810504,59.21273054905956],\"8\":[66.80977276009385,18.52099894239906],\"9\":[82.92785263764821,58.120720072880204]}},\"id\":\"1474\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{\"data\":{\"end\":[32,34,37,21,23,25,27,30,32,35,37,39,41,43,45,21,34,35,41,43,21,22,29,30,23,35,36,23,24,30,31,25,32,33,25,26,27,28,27,29,37,38,39,45,29,34,39,40,41,42,43,44,45,46,5,2,7,5,6,2,8,2,9,8,6,2,10,2,11,10,6,2,12,2,11,12,13,2,14,12,7,7,2,9,7,13,2,1,2,10,1,13,2,14,1,5,5,2,8,5,13,2,1,2,12,1,6,2,13,3,15,13,16,3,6,3,17,6,18,3,6,4,19,4,13,4,20,4],\"start\":[1,1,1,2,2,2,2,2,2,2,2,3,3,4,4,5,5,5,6,6,7,7,7,7,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,13,13,14,14,15,15,17,17,19,19,20,20,21,21,21,22,22,22,23,23,23,24,24,24,25,25,25,26,26,26,27,27,27,28,28,28,29,29,29,30,30,30,31,31,31,32,32,32,33,33,33,34,34,34,35,35,35,36,36,36,37,37,37,38,38,38,39,39,39,40,40,40,41,41,41,42,42,42,43,43,43,44,45,45,45,46],\"weight\":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],\"xs\":[[-15.408808410057382,-26.995593660392913,-26.55903639943659,-30.45411772639522,-25.791571336902855,-26.995593660392913],[-15.408808410057382,0.5777420198134888,0.06052800845791406,4.051313562264941,-0.5527614485727597,0.5777420198134888],[-15.408808410057382,-9.76236279186285,-12.27757082845762,-7.722093798299576,-8.214973279511545,-9.76236279186285],[15.18751000587711,27.89723330706783,29.645342004874212,29.65014287047774,25.317617414796487,27.89723330706783],[15.18751000587711,63.05094533702046,63.11430367771307,66.34512327963203,61.4249663590139,63.05094533702046],[15.18751000587711,-36.90590316053602,-36.28727782111546,-40.39369718802299,-35.87006446644092,-36.90590316053602],[15.18751000587711,-10.268369437081864,-11.104074122583171,-13.068532259317921,-8.104384285226514,-10.268369437081864],[15.18751000587711,47.68952360874634,48.923036674391554,50.10803019280842,45.30877187974618,47.68952360874634],[15.18751000587711,-27.1362669275114,-25.55334872198043,-30.45411772639522,-27.145335079953202,-27.1362669275114],[15.18751000587711,44.377041151693746,43.76605164059044,47.863949073497956,43.33398696086362,44.377041151693746],[15.18751000587711,-4.372940214508578,-2.8525552218779655,-7.722093798299576,-4.304626418324902,-4.372940214508578],[9.832728990622389,16.266857065634618,17.813032541407402,18.30874489472244,13.752095157556582,16.266857065634618],[9.832728990622389,-1.341279521775978,-1.322980440323465,-4.670528669543061,0.21967835122016144,-1.341279521775978],[-21.446759438247838,-27.257127518011284,-28.631010932888014,-29.51598534354752,-24.811736152916573,-27.257127518011284],[-21.446759438247838,-11.680299028433378,-11.117940869594488,-8.670668514844412,-13.670300390873914,-11.680299028433378],[30.282305006486286,29.862619315513086,32.40840328633479,29.65014287047774,27.417625309210457,29.862619315513086],[30.282305006486286,7.477567450096587,8.800697535390434,4.051313562264941,7.779709322503458,7.477567450096587],[30.282305006486286,44.95522634600488,42.87489461993027,47.863949073497956,45.65578131399659,44.95522634600488],[-19.23657134611999,-7.718529298386378,-9.670291197734315,-4.670528669543061,-7.212611785149685,-7.718529298386378],[-19.23657134611999,-26.78432364539763,-24.573462256654924,-29.51598534354752,-27.699398644317995,-26.78432364539763],[30.47647754810504,29.81276741778868,27.354038674804958,29.65014287047774,32.348638464008296,29.81276741778868],[30.47647754810504,31.586781686971843,34.02816564693984,31.812062623083,29.038533845910155,31.586781686971843],[30.47647754810504,10.217607429254604,9.728628629851485,7.158407055811285,12.157743306538958,10.217607429254604],[30.47647754810504,46.77196356226484,45.224566668085046,50.10803019280842,46.73686957247951,46.77196356226484],[66.80977276009385,66.44487571578354,68.96751934525764,66.34512327963203,63.96955048199667,66.44487571578354],[66.80977276009385,51.36108965885529,52.29157324853819,47.863949073497956,52.089503719957825,51.36108965885529],[66.80977276009385,76.77059098607252,74.5432380331543,79.47664403551758,77.71430522414437,76.77059098607252],[82.92785263764821,68.37439337163066,66.81878163283342,66.34512327963203,70.89260621446151,68.37439337163066],[82.92785263764821,101.96596896937749,101.38009976231245,105.44974815339019,100.89927861723814,101.96596896937749],[82.92785263764821,53.56592041688981,53.99942394029983,50.10803019280842,54.772695809752285,53.56592041688981],[82.92785263764821,94.88763359557184,96.34457577703694,97.04497145491578,92.4073403021152,94.88763359557184],[-54.31668590782461,-42.57016029808426,-45.04421963900976,-40.39369718802299,-41.12852429050121,-42.57016029808426],[-54.31668590782461,-33.935818268111106,-34.506292765506394,-30.45411772639522,-35.01691730870118,-33.935818268111106],[-54.31668590782461,-73.89670535849852,-72.16889268999772,-77.12747248205311,-74.09197683779466,-73.89670535849852],[-39.990749903319816,-40.339345409150724,-37.826755759101204,-40.39369718802299,-42.826152841961196,-40.339345409150724],[-39.990749903319816,-55.49095749546524,-55.758757324219616,-58.68328602898001,-53.70885014159837,-55.49095749546524],[-39.990749903319816,-16.372515332421177,-16.33125300702086,-13.068532259317921,-17.98104944013269,-16.372515332421177],[-39.990749903319816,-41.324765763641985,-43.735776724043355,-41.65339671095221,-38.7578659868885,-41.324765763641985],[-7.063950776269258,-12.020968264165576,-14.15790243998142,-13.068532259317921,-9.387113416106285,-12.020968264165576],[-7.063950776269258,5.731155501345567,7.675334844726157,7.158407055811285,3.1099475418731535,5.731155501345567],[-7.063950776269258,-7.466814274320635,-4.912925920425201,-7.722093798299576,-9.899608668083204,-7.466814274320635],[-7.063950776269258,-16.599434834643223,-17.227677583106324,-19.56220415998457,-14.565777876008845,-16.599434834643223],[6.012361933939273,15.619828751971237,13.381734346549262,18.30874489472244,16.58241347641389,15.619828751971237],[6.012361933939273,-5.498074812871984,-3.689847536550495,-8.670668514844412,-5.801355945153645,-5.498074812871984],[0.4565247576410238,3.6586991684447243,2.7963425800989476,7.158407055811285,2.860940284997306,3.6586991684447243],[0.4565247576410238,2.8474429905383136,0.21445200616253457,4.051313562264941,4.909367981270903,2.8474429905383136],[34.44130309737679,21.808461684425005,22.606718632130217,18.30874489472244,22.670324431409927,21.808461684425005],[34.44130309737679,43.467037882910894,42.42384992443452,46.95392907375277,42.85619007592463,43.467037882910894],[-4.4571956202508405,-4.6088770701295765,-2.0946424753316597,-4.670528669543061,-7.093866717251549,-4.6088770701295765],[-4.4571956202508405,-4.265467683500212,-6.78707597250664,-4.1704798148440245,-1.78891767806026,-4.265467683500212],[-43.44075754132045,-33.01597197466519,-33.839185980718845,-29.51598534354752,-33.85300566481567,-33.01597197466519],[-43.44075754132045,-47.79579701339204,-46.88368507434956,-51.2938936853726,-47.04855777402717,-47.79579701339204],[-10.130357799201677,-9.135276906539474,-11.723347801886433,-8.670668514844412,-6.767596856429119,-9.135276906539474],[-10.130357799201677,-10.603120470295277,-8.018985828962558,-11.04046361208278,-12.979797763891922,-10.603120470295277],[29.65014287047774,30.06982856145094,27.524044590629234,30.282305006486286,32.51482256775357,30.06982856145094],[29.65014287047774,16.940419569287023,15.192310871480636,15.18751000587711,19.52003546155836,16.940419569287023],[29.65014287047774,30.3138530007941,32.77258174377783,30.47647754810504,27.77798195457449,30.3138530007941],[31.812062623083,30.39181939060377,27.919018035003443,30.282305006486286,32.91656980289927,30.39181939060377],[31.812062623083,-18.640475341933463,-20.962568775100912,-19.23657134611999,-16.03561882365356,-18.640475341933463],[31.812062623083,16.074385985142122,13.866326012644091,15.18751000587711,18.70314293639499,16.074385985142122],[66.34512327963203,66.71002032394235,64.18737669446824,66.80977276009385,69.1853455577292,66.71002032394235],[66.34512327963203,18.481687948488688,18.41832960779607,15.18751000587711,20.10766692649524,18.481687948488688],[66.34512327963203,80.89858254564959,82.45419428444683,82.92785263764821,78.38036970281874,80.89858254564959],[105.44974815339019,69.18633815091631,67.91470743101338,66.80977276009385,71.58531238119473,69.18633815091631],[105.44974815339019,-17.79445941871033,-19.730344002437583,-19.23657134611999,-15.174497077695802,-17.79445941871033],[105.44974815339019,18.335762302528355,17.9901635795257,15.18751000587711,20.17476062200761,18.335762302528355],[-40.39369718802299,-52.14022279776334,-49.66616345683784,-54.31668590782461,-53.58185880534639,-52.14022279776334],[-40.39369718802299,11.699715978390138,11.081090638969577,15.18751000587711,10.663877284295044,11.699715978390138],[-40.39369718802299,-40.04510168219208,-42.5576913322416,-39.990749903319816,-37.55829424938161,-40.04510168219208],[-58.68328602898001,-54.61022641559041,-52.188656071273584,-54.31668590782461,-57.171040135132685,-54.61022641559041],[-58.68328602898001,-19.93783025180022,-22.55346026042557,-19.23657134611999,-17.654848223097716,-19.93783025180022],[-58.68328602898001,12.092400302903807,12.52552197218831,15.18751000587711,10.191087667352797,12.092400302903807],[-13.068532259317921,-8.111514771421602,-5.974580595605759,-7.063950776269258,-10.745369619480895,-8.111514771421602],[-13.068532259317921,12.387347183641053,13.22305186914236,15.18751000587711,10.223362031785703,12.387347183641053],[-13.068532259317921,-36.68676683021656,-36.72802915561688,-39.990749903319816,-35.07823272250505,-36.68676683021656],[-41.65339671095221,-9.162130617870087,-7.658800700697406,-7.063950776269258,-11.66074955051176,-9.162130617870087],[-41.65339671095221,5.041704899735076,2.4095488994495593,6.012361933939273,7.213421682763571,5.041704899735076],[-41.65339671095221,12.518718344999277,13.503172077498007,15.18751000587711,10.268301146461159,12.518718344999277],[7.158407055811285,3.956232645007584,4.81858923335336,0.4565247576410238,4.7539915284550025,3.956232645007584],[7.158407055811285,-5.636699221803541,-7.580878565184129,-7.063950776269258,-3.0154912623311274,-5.636699221803541],[7.158407055811285,27.41727717466172,27.90625597406484,30.47647754810504,25.47714129737737,27.41727717466172],[50.10803019280842,33.81254417864862,35.35994107282842,30.47647754810504,33.847638168433946,33.81254417864862],[50.10803019280842,17.60601658993919,16.372503524293975,15.18751000587711,19.98676831893935,17.60601658993919],[50.10803019280842,79.46996241356683,79.03645889015681,82.92785263764821,78.26318702070435,79.46996241356683],[97.04497145491578,33.86833798155918,34.056175385079406,30.47647754810504,35.28945771530948,33.86833798155918],[97.04497145491578,7.119287666729663,5.010149733627666,6.012361933939273,9.753505004819974,7.119287666729663],[97.04497145491578,18.015289557271696,17.212807771972322,15.18751000587711,20.1591520335244,18.015289557271696],[-30.45411772639522,-18.86733247605969,-19.303889737016014,-15.408808410057382,-20.071354799549745,-18.86733247605969],[-30.45411772639522,11.869659206993289,10.28674100146232,15.18751000587711,11.87872735943509,11.869659206993289],[-30.45411772639522,-50.834985366108725,-50.26451086871344,-54.31668590782461,-49.75388632551865,-50.834985366108725],[-77.12747248205311,-18.898627856259594,-19.916882227344114,-15.408808410057382,-19.53579829286224,-18.898627856259594],[-77.12747248205311,4.848290142274568,2.214519496982839,6.012361933939273,6.929873675437132,4.848290142274568],[-77.12747248205311,11.786079843352297,10.390198286083393,15.18751000587711,11.568464782970484,11.786079843352297],[4.051313562264941,1.6603953293676508,4.293386313743429,0.4565247576410238,-0.4015296613649381,1.6603953293676508],[4.051313562264941,-11.93523686760593,-11.418022856250357,-15.408808410057382,-10.804733399219682,-11.93523686760593],[4.051313562264941,26.85605111865464,25.532921033360793,30.282305006486286,26.553909246247766,26.85605111865464],[47.863949073497956,33.19102773397937,35.27135946005397,30.282305006486286,32.490472765987654,33.19102773397937],[47.863949073497956,18.67441792768132,19.285407438784624,15.18751000587711,19.71747211851145,18.67441792768132],[47.863949073497956,63.312632174736514,62.38214858505361,66.80977276009385,62.58421811363398,63.312632174736514],[79.47664403551758,33.4547929777039,35.26315726693349,30.282305006486286,33.1513246782534,33.4547929777039],[79.47664403551758,7.19291168730076,5.11942038017532,6.012361933939273,9.826406564396086,7.19291168730076],[79.47664403551758,18.65854611274887,19.80276216047985,15.18751000587711,19.16084483985717,18.65854611274887],[-7.722093798299576,-13.368539416494109,-10.853331379899338,-15.408808410057382,-14.915928928845414,-13.368539416494109],[-7.722093798299576,11.838356422086111,10.3179714294555,15.18751000587711,11.770042625902434,11.838356422086111],[-7.722093798299576,-7.319230300248198,-9.873118654143632,-7.063950776269258,-4.886435906485629,-7.319230300248198],[-19.56220415998457,-15.930126044990198,-13.581659103415614,-15.408808410057382,-18.525884331820983,-15.930126044990198],[-19.56220415998457,-19.241705618924264,-21.7429206715003,-19.23657134611999,-16.74292605124957,-19.241705618924264],[-19.56220415998457,11.821622026734186,11.708719482003886,15.18751000587711,10.337887683377652,11.821622026734186],[18.30874489472244,8.701278076690476,10.939372482112454,6.012361933939273,7.738693352247825,8.701278076690476],[18.30874489472244,11.874616819710214,10.328441343937428,9.832728990622389,14.389378727788248,11.874616819710214],[18.30874489472244,30.941586307674225,30.143329359969012,34.44130309737679,30.079723560689303,30.941586307674225],[46.95392907375277,9.389859980625722,10.846561926676884,6.012361933939273,9.535302254523906,9.389859980625722],[46.95392907375277,-117.2663203332145,-114.63369150727726,-118.25321001915938,-119.43080984886689,-117.2663203332145],[46.95392907375277,13.190476613563769,13.281371707495564,9.832728990622389,14.69235696221792,13.190476613563769],[-4.670528669543061,-16.188570717276676,-14.236808817928738,-19.23657134611999,-16.694488230513368,-16.188570717276676],[-4.670528669543061,6.503479842855306,6.485180761402793,9.832728990622389,4.9425219698591665,6.503479842855306],[-4.670528669543061,-4.518847219664326,-7.033081814462244,-4.4571956202508405,-2.033857572542352,-4.518847219664326],[-4.1704798148440245,-17.702322663535252,-15.091428217986913,-19.23657134611999,-19.585433517563953,-17.702322663535252],[-4.1704798148440245,-323.26445728521753,-321.744760557675,-326.61393587288035,-323.1953010556627,-323.26445728521753],[-4.1704798148440245,8.238755263123522,10.086388349617964,9.832728990622389,5.635007514543975,8.238755263123522],[-29.51598534354752,-21.96823304426988,-24.179094433012587,-19.23657134611999,-21.053158045349516,-21.96823304426988],[-29.51598534354752,-23.705617263784074,-22.331733848907344,-21.446759438247838,-26.151008628878785,-23.705617263784074],[-29.51598534354752,-39.94077091020278,-39.117556904149126,-43.44075754132045,-39.103737220052295,-39.94077091020278],[-51.2938936853726,-24.78735741604577,-24.833802838485912,-21.446759438247838,-26.325552359735283,-24.78735741604577],[-8.670668514844412,2.8397682319668456,1.0315409556453563,6.012361933939273,3.1430493642485064,2.8397682319668456],[-8.670668514844412,-18.43712892465887,-18.999487083497762,-21.446759438247838,-16.447127562218334,-18.43712892465887],[-8.670668514844412,-9.665749407506615,-7.077678512159656,-10.130357799201677,-12.033429457616972,-9.665749407506615],[-11.04046361208278,-20.133585520004267,-22.139495293770853,-21.446759438247838,-17.504760803336023,-20.133585520004267]],\"ys\":[[34.120057612459796,32.32023870476756,34.918031734523964,31.78301316099395,29.977283068806383,32.32023870476756],[34.120057612459796,36.095853388989774,33.51290922892705,36.525156008911246,38.47515428957198,36.095853388989774],[34.120057612459796,26.249788868106545,25.46694827118165,23.405970583844294,28.38161826198633,26.249788868106545],[16.453030839026532,38.41818423213918,36.44759375002518,41.44759144519359,38.95175026918219,38.41818423213918],[16.453030839026532,33.63493243641247,31.001475281224764,34.81746855950189,35.707443770669876,33.63493243641247],[16.453030839026532,12.0910050873264,14.65155455120548,11.798955739054225,9.66899165479552,12.0910050873264],[16.453030839026532,-2.635794847020711,-0.13765382894831202,-4.735577733170372,-4.137886432142679,-2.635794847020711],[16.453030839026532,50.45319399998157,48.12562952516521,52.983179356233336,51.58063893096818,50.45319399998157],[16.453030839026532,30.66862271041301,32.77420596028542,31.78301316099395,28.034419104737104,30.66862271041301],[16.453030839026532,18.984854447823583,16.42247221933651,19.28729972363236,21.403769250485375,18.984854447823583],[16.453030839026532,22.38952074633144,24.540692599468297,23.405970583844294,19.75618747976687,22.38952074633144],[-218.95254749278425,-209.99514366184923,-212.12785373723767,-207.15248749315364,-209.21087112425508,-209.99514366184923],[-218.95254749278425,-222.57690157154016,-219.94274591722458,-223.6567627256207,-224.69881612832043,-222.57690157154016],[-197.65071268051597,-204.52762826721806,-202.28006175432654,-207.20112061319807,-205.5070015050926,-204.52762826721806],[-197.65071268051597,-191.8529037227234,-194.42639632398183,-190.0662520578278,-190.12692416171188,-191.8529037227234],[31.053561151214716,37.95404686120656,37.27721982166696,41.44759144519359,36.97368204304504,37.95404686120656],[31.053561151214716,35.81046425989036,38.08827848518068,36.525156008911246,33.193630073992615,35.81046425989036],[31.053561151214716,21.233920409478785,19.617959154673432,19.28729972363236,23.773277336806405,21.233920409478785],[-215.43528665071378,-221.93638713681145,-223.70549322628105,-223.6567627256207,-219.35120661364772,-221.93638713681145],[-215.43528665071378,-209.38927608456223,-207.95707400827854,-207.20112061319807,-211.85944786277838,-209.38927608456223],[59.21273054905956,44.943811297635925,45.88920213531647,41.44759144519359,45.656881353443694,44.943811297635925],[59.21273054905956,76.4268200100504,75.43749942118366,79.91956227077118,75.7593293299139,76.4268200100504],[59.21273054905956,47.95234256787273,50.54078043679656,46.2519622941915,46.17049418902039,47.95234256787273],[59.21273054905956,54.041791389309466,51.90996735355338,52.983179356233336,56.6757768257585,54.041791389309466],[18.52099894239906,31.318890355219207,30.56035229670247,34.81746855950189,30.417848816486035,31.318890355219207],[18.52099894239906,19.145851053626103,21.610259939520542,19.28729972363236,16.61434481758149,19.145851053626103],[18.52099894239906,10.350243858788994,8.943826534282804,8.130496825095948,12.809616604918606,10.350243858788994],[58.120720072880204,37.66914576664155,39.7949827748952,34.81746855950189,36.89602550061145,37.66914576664155],[58.120720072880204,59.96003016913479,57.39178794150951,60.296604970686815,62.36861534724195,59.96003016913479],[58.120720072880204,53.52446966485006,56.122774027840606,52.983179356233336,51.182930850581485,53.52446966485006],[58.120720072880204,73.39970456717964,71.20506784384423,76.15576939962486,74.28697907147844,73.39970456717964],[29.333242141983707,14.53994248301021,13.635430877156569,11.798955739054225,16.74466389152981,14.53994248301021],[29.333242141983707,31.425575980757596,28.85387037642295,31.78301316099395,33.82772829315993,31.425575980757596],[29.333242141983707,37.491619550629345,39.480029531018886,38.8377784540872,34.864647925940915,37.491619550629345],[-14.145833282443474,8.299377781052229,7.508173560886128,11.798955739054225,7.43052816249718,8.299377781052229],[-14.145833282443474,-21.11309576159475,-18.492524427083175,-22.54803078942962,-23.0529937606757,-21.11309576159475],[-14.145833282443474,-5.890435236348653,-8.524331264677638,-4.735577733170372,-3.804355445958705,-5.890435236348653],[-14.145833282443474,-28.290661547368728,-27.229465516293825,-31.775199063377126,-27.698938298165572,-28.290661547368728],[14.406559735661327,-1.396025416457777,0.1443067541388494,-4.735577733170372,-1.3522132389359278,-1.396025416457777],[14.406559735661327,43.0561911821944,41.27875551575894,46.2519622941915,43.317686307852824,43.0561911821944],[14.406559735661327,19.915292660483694,19.269719160886694,23.405970583844294,18.90503412663106,19.915292660483694],[14.406559735661327,8.409551665056382,10.96775844257617,6.546221870088146,6.73523083494567,8.409551665056382],[-196.90681899395184,-204.9120121022484,-206.30127244500764,-207.15248749315364,-202.45996366964877,-204.9120121022484],[-196.90681899395184,-191.54430794385001,-189.62873362143085,-190.0662520578278,-194.1610103385343,-191.54430794385001],[46.33855476425635,46.297180687620354,43.808114199540675,46.2519622941915,48.80769689577862,46.297180687620354],[46.33855476425635,39.8115971914871,39.73116496075518,36.525156008911246,41.450980063221785,39.8115971914871],[-206.94724603380246,-207.10796343365786,-204.597605548219,-207.15248749315364,-209.5972009620798,-207.10796343365786],[-206.94724603380246,-207.73061756208972,-210.1494746787534,-208.0332556681328,-205.16820154897928,-207.73061756208972],[-235.76593480289466,-227.15621969496462,-227.9421810616144,-223.6567627256207,-228.03025477506225,-227.15621969496462],[-235.76593480289466,-242.82789559465704,-242.0659228232546,-246.3266064007695,-241.93022586803147,-242.82789559465704],[-207.2396079507861,-207.21079439206585,-209.71307926149655,-207.20112061319807,-204.71309835989987,-207.21079439206585],[-207.2396079507861,-207.0959243915237,-204.6246569680746,-206.98051350174939,-209.62193792804683,-207.0959243915237],[-179.16739685797882,-186.59722639600767,-186.10630898115807,-190.0662520578278,-185.44258270730796,-186.59722639600767],[-179.16739685797882,-175.41359227310477,-175.92482511928046,-171.94102391865422,-176.54960103611972,-175.41359227310477],[41.44759144519359,34.54710573520175,35.22393277474134,31.053561151214716,35.527470553363266,34.54710573520175],[41.44759144519359,19.48243805208094,21.453028534194946,16.453030839026532,18.948872015037928,19.48243805208094],[41.44759144519359,55.71651069661722,54.77111985893668,59.21273054905956,55.00344064080945,55.71651069661722],[79.91956227077118,34.55184738874179,35.45979249902425,31.053561151214716,35.30334337885642,34.55184738874179],[79.91956227077118,-211.98642168470064,-210.74263996945263,-215.43528665071378,-211.5942056897191,-211.98642168470064],[79.91956227077118,19.838802685652162,21.275320010781464,16.453030839026532,20.00835432611716,19.838802685652162],[34.81746855950189,22.019577146681744,22.778115205198482,18.52099894239906,22.920618685414915,22.019577146681744],[34.81746855950189,17.635566962115952,20.26902411730366,16.453030839026532,15.563055627858546,17.635566962115952],[34.81746855950189,55.269042865740545,53.14320585748689,58.120720072880204,56.04216313177064,55.269042865740545],[60.296604970686815,21.090422407525992,23.397382784243334,18.52099894239906,20.002289368782677,21.090422407525992],[60.296604970686815,-212.24619380339453,-210.45972752998443,-215.43528665071378,-212.51988742628393,-212.24619380339453],[60.296604970686815,17.98224876876387,20.593699015313398,16.453030839026532,16.096195734383045,17.98224876876387],[11.798955739054225,26.592255398027724,27.496767003881363,29.333242141983707,24.38753398950812,26.592255398027724],[11.798955739054225,16.16098149075436,13.600432026875279,16.453030839026532,18.582994923285238,16.16098149075436],[11.798955739054225,-10.646255324441478,-9.855051104275377,-14.145833282443474,-9.777405705886428,-10.646255324441478],[-22.54803078942962,25.845573297282336,24.808699180009693,29.333242141983707,25.228042762532258,25.845573297282336],[-22.54803078942962,-212.0062582245843,-211.69386340144663,-215.43528665071378,-210.6920649647606,-212.0062582245843],[-22.54803078942962,14.818926825641672,12.220558782592178,16.453030839026532,16.64214407255404,14.818926825641672],[-4.735577733170372,11.067007418948732,9.526675248352106,14.406559735661327,11.023195241426883,11.067007418948732],[-4.735577733170372,14.35324795287687,11.855106934804471,16.453030839026532,15.855339537998837,14.35324795287687],[-4.735577733170372,-12.990975779265193,-10.357079750936208,-14.145833282443474,-15.077055569655142,-12.990975779265193],[-31.775199063377126,11.605195540791279,9.442070480218444,14.406559735661327,12.439470253933914,11.605195540791279],[-31.775199063377126,-193.54410804563204,-193.43986958005624,-196.90681899395184,-192.05321667405025,-193.54410804563204],[-31.775199063377126,14.188621187300736,11.74527067701492,16.453030839026532,15.55783019255468,14.188621187300736],[46.2519622941915,46.293336370827504,48.782402858907176,46.33855476425635,43.78282016266923,46.293336370827504],[46.2519622941915,17.60233084765843,19.379766514093888,14.406559735661327,17.34083572200001,17.60233084765843],[46.2519622941915,57.512350275378324,54.9239124064545,59.21273054905956,59.29419865423067,57.512350275378324],[52.983179356233336,58.15411851598343,60.28594255173952,59.21273054905956,55.520133079534396,58.15411851598343],[52.983179356233336,18.983016195278296,21.310580670094662,16.453030839026532,17.85557126429169,18.983016195278296],[52.983179356233336,57.57942976426349,54.981125401272934,58.120720072880204,59.920968578532054,57.57942976426349],[76.15576939962486,60.07602818022061,62.70354182954452,59.21273054905956,57.85802692461003,60.07602818022061],[76.15576939962486,-193.58647030411723,-192.00829159221706,-196.90681899395184,-193.5896140676319,-193.58647030411723],[76.15576939962486,18.51547182211299,21.024482354535557,16.453030839026532,16.984797281114716,18.51547182211299],[31.78301316099395,33.58283206868618,30.985039038929777,34.120057612459796,35.92578770464736,33.58283206868618],[31.78301316099395,17.56742128960747,15.46183803973506,16.453030839026532,20.201624895283373,17.56742128960747],[31.78301316099395,29.69067932222006,32.26238492655471,29.333242141983707,27.28852700981773,29.69067932222006],[38.8377784540872,34.38681636659711,31.9573578048365,34.120057612459796,36.94281415655394,34.38681636659711],[38.8377784540872,-193.60607106903385,-193.6546823387584,-196.90681899395184,-191.99172263638025,-193.60607106903385],[38.8377784540872,17.277817386847495,15.043846584526843,16.453030839026532,19.90303253099086,17.277817386847495],[36.525156008911246,43.052113581680494,43.13254581241242,46.33855476425635,41.41273070994581,43.052113581680494],[36.525156008911246,34.54936023238127,37.13230439244399,34.120057612459796,32.17005933179906,34.54936023238127],[36.525156008911246,31.7682529002356,29.490438674945278,31.053561151214716,34.385087086133346,31.7682529002356],[19.28729972363236,29.10694046536829,30.722901720173642,31.053561151214716,26.56758353804067,29.10694046536829],[19.28729972363236,16.755476114835307,19.31785834332238,16.453030839026532,14.336561312173512,16.755476114835307],[19.28729972363236,18.662447612405316,16.198038726510877,18.52099894239906,21.19395384844993,18.662447612405316],[8.130496825095948,29.575278339138656,31.49072331746192,31.053561151214716,26.958597644293892,29.575278339138656],[8.130496825095948,-193.61192866499732,-191.98719955932464,-196.90681899395184,-193.6736992069839,-193.61192866499732],[8.130496825095948,16.003688714590655,18.37642563714645,16.453030839026532,13.417802627329653,16.003688714590655],[23.405970583844294,31.276239328197544,32.05907992512244,34.120057612459796,29.14440993431776,31.276239328197544],[23.405970583844294,17.469480676539387,15.318308823402528,16.453030839026532,20.102813943103953,17.469480676539387],[23.405970583844294,17.89723765902193,18.542811158618928,14.406559735661327,18.907496192874557,17.89723765902193],[6.546221870088146,30.65909995257604,29.465863223391104,34.120057612459796,30.210602701866556,30.65909995257604],[6.546221870088146,-211.93529041653827,-211.10883162850845,-215.43528665071378,-211.10149695307376,-211.93529041653827],[6.546221870088146,15.493448579988168,12.861649977712897,16.453030839026532,17.6700613764885,15.493448579988168],[-207.15248749315364,-199.14729438485708,-197.75803404209785,-196.90681899395184,-201.59934281745672,-199.14729438485708],[-207.15248749315364,-216.10989132408866,-213.97718124870022,-218.95254749278425,-216.8941638616828,-216.10989132408866],[-207.15248749315364,-206.99177009329824,-209.5021279787371,-206.94724603380246,-204.5025325648763,-206.99177009329824],[-208.0332556681328,-197.82470076445892,-195.62990457621834,-196.90681899395184,-200.4549017857704,-197.82470076445892],[-208.0332556681328,350.74123270382097,350.64971039840316,354.0992155429337,349.23986798991046,350.74123270382097],[-208.0332556681328,-217.9648578144786,-215.33220725858558,-218.95254749278425,-220.12898957707327,-217.9648578144786],[-223.6567627256207,-217.15566223952302,-215.38655615005342,-215.43528665071378,-219.74084276268673,-217.15566223952302],[-223.6567627256207,-220.03240864686478,-222.66656430118036,-218.95254749278425,-217.9104940900845,-220.03240864686478],[-223.6567627256207,-232.26647783355074,-231.48051646690095,-235.76593480289466,-231.3924427534531,-232.26647783355074],[-246.3266064007695,-218.5810903604177,-218.23131748875744,-215.43528665071378,-220.42310132102133,-218.5810903604177],[-246.3266064007695,-149.5947995211207,-147.4431413875313,-148.57942117252932,-152.22811079847824,-149.5947995211207],[-246.3266064007695,-222.06851407733603,-223.9461090403767,-218.95254749278425,-221.66900371537832,-222.06851407733603],[-207.20112061319807,-213.24713117934962,-214.6793332556333,-215.43528665071378,-210.77695940113347,-213.24713117934962],[-207.20112061319807,-200.32420502649597,-202.5717715393875,-197.65071268051597,-199.34483178862143,-200.32420502649597],[-207.20112061319807,-207.22993417191833,-204.72764930248763,-207.2396079507861,-209.7276302040843,-207.22993417191833],[-206.98051350174939,-198.6949373453905,-201.328747074714,-197.65071268051597,-196.55646424928838,-198.6949373453905],[-190.0662520578278,-195.42876310792963,-197.3443374303488,-196.90681899395184,-192.81206071324533,-195.42876310792963],[-190.0662520578278,-195.86406101562036,-193.29056841436193,-197.65071268051597,-197.59004057663188,-195.86406101562036],[-190.0662520578278,-182.63642251979894,-183.12733993464855,-179.16739685797882,-183.79106620849865,-182.63642251979894],[-171.94102391865422,-194.40639853721157,-192.69893350182952,-197.65071268051597,-194.57489624217746,-194.40639853721157]]},\"selected\":{\"id\":\"1646\"},\"selection_policy\":{\"id\":\"1645\"}},\"id\":\"1481\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1646\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"1463\"},\"glyph\":{\"id\":\"1534\"},\"hover_glyph\":{\"id\":\"1544\"},\"muted_glyph\":null,\"selection_glyph\":{\"id\":\"1539\"},\"view\":{\"id\":\"1465\"}},\"id\":\"1464\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_color\":{\"value\":\"#fdae61\"},\"line_join\":\"round\",\"line_width\":{\"value\":5}},\"id\":\"1499\",\"type\":\"MultiLine\"},{\"attributes\":{\"source\":{\"id\":\"1477\"}},\"id\":\"1479\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"field\":\"color\"},\"size\":{\"units\":\"screen\",\"value\":8}},\"id\":\"1519\",\"type\":\"Square\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1614\",\"type\":\"Title\"},{\"attributes\":{\"fill_color\":{\"field\":\"color\"},\"size\":{\"units\":\"screen\",\"value\":12}},\"id\":\"1534\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"#abdda4\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"1544\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1648\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"1453\"},\"glyph\":{\"id\":\"1452\"},\"hover_glyph\":null,\"muted_glyph\":null,\"view\":{\"id\":\"1455\"}},\"id\":\"1454\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"1444\"]},\"title\":\"Bokeh Application\",\"version\":\"2.2.3\"}};\n", " var render_items = [{\"docid\":\"a771ced5-9e42-415b-b792-76e7e82752f4\",\"root_ids\":[\"1444\"],\"roots\":{\"1444\":\"3eff928e-8bd8-432a-8baf-4c22f6a53fdb\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " var attempts = 0;\n", " var timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1444" } }, "output_type": "display_data" } ], "source": [ "plotNetwork(myCRN)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now you can see that many more arrows lead to each RNA. But there is still only one promoter per RNA, how can it be? Well, now that both promoters and transcripts are on the same DNA, we must take into account the fact that you can have both promoters with RNA polymerase bound, so for example Promoter1 can lead to RNA1 whether or not Promoter2 is bound by RNAP.\n", "\n", "We can even make a more complicated DNA construct, such as what happens before and after a promoter is \"flipped\" by integrase activity" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", "0\n", "done\n", "d:\\documents\\github\\biocrnpyler\\biocrnpyler\\plotting.py:500: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.\n", " plt.tight_layout(pad=0.0001)\n" ] }, { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "attB = IntegraseSite(\"attB\",\"attB\",integrase=\"Bxb1\")\n", "attP = IntegraseSite(\"attP\",\"attP\",integrase=\"Bxb1\")\n", "\n", "diffatt = IntegraseSite(\"attL\",\"attL\",integrase=\"phic31\")\n", "\n", "construct_1 = DNA_construct([[t16,\"reverse\"],[rfp,\"reverse\"],[utr1,\"reverse\"],[attP,\"forward\"],[pconst,\"forward\"],[attB,\"reverse\"],[utr1,\"forward\"],[gfp,\"forward\"],[t16,\"forward\"]])\n", "\n", "components = [construct_1]\n", "bxb1 = Integrase_Enumerator(\"Bxb1\", int_mechanisms={\"Bxb1\":IntegraseRule(\"Bxb1\")})\n", "\n", "myMixture = TxTlExtract(name = \"txtl\", parameters = parameters, components = components,global_component_enumerators=[bxb1])\n", "\n", "\n", "#now, we are using dnaplotlib to plot the constructs\n", "enumerated_constructs = myMixture.global_component_enumeration(recursion_depth=4)\n", "myCRN = myMixture.compile_crn()\n", "if(dpl_enabled):\n", " conlist = []\n", " for con in enumerated_constructs:\n", " if(isinstance(con,DNA_construct)):\n", " conlist += [con]\n", " render_constructs(conlist)\n", "#some very basic parameters are defined\n", "parameters={\"cooperativity\":2,\"kb\":100, \"ku\":10, \"ktx\":.05, \"ktl\":.2, \"kdeg\":2,\"kint\":.05}\n", "\n", "\n", "print(\"done\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can see that this construct 'knows' that a forward facing promoter will not produce RNAs that face the reverse direction." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " Loading BokehJS ...\n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = true;\n", "\n", " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " var JS_MIME_TYPE = 'application/javascript';\n", " var HTML_MIME_TYPE = 'text/html';\n", " var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " var CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " var script = document.createElement(\"script\");\n", " node.appendChild(script);\n", " }\n", "\n", " /**\n", " * Handle when an output is cleared or removed\n", " */\n", " function handleClearOutput(event, handle) {\n", " var cell = handle.cell;\n", "\n", " var id = cell.output_area._bokeh_element_id;\n", " var server_id = cell.output_area._bokeh_server_id;\n", " // Clean up Bokeh references\n", " if (id != null && id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", " cell.notebook.kernel.execute(cmd, {\n", " iopub: {\n", " output: function(msg) {\n", " var id = msg.content.text.trim();\n", " if (id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", "\n", " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", " // store reference to embed id on output_area\n", " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " }\n", " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " var bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " var script_attrs = bk_div.children[0].attributes;\n", " for (var i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", " }\n", "\n", " function register_renderer(events, OutputArea) {\n", "\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[toinsert.length - 1]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " /* Handle when an output is cleared or removed */\n", " events.on('clear_output.CodeCell', handleClearOutput);\n", " events.on('delete.Cell', handleClearOutput);\n", "\n", " /* Handle when a new output is added */\n", " events.on('output_added.OutputArea', handleAddOutput);\n", "\n", " /**\n", " * Register the mime type and append_mime function with output_area\n", " */\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " /* Is output safe? */\n", " safe: true,\n", " /* Index of renderer in `output_area.display_order` */\n", " index: 0\n", " });\n", " }\n", "\n", " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", " if (root.Jupyter !== undefined) {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", "\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " }\n", "\n", " \n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " var NB_LOAD_WARNING = {'data': {'text/html':\n", " \"
\\n\"+\n", " \"

\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"

\\n\"+\n", " \"
    \\n\"+\n", " \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n", " \"
  • use INLINE resources instead, as so:
  • \\n\"+\n", " \"
\\n\"+\n", " \"\\n\"+\n", " \"from bokeh.resources import INLINE\\n\"+\n", " \"output_notebook(resources=INLINE)\\n\"+\n", " \"\\n\"+\n", " \"
\"}};\n", "\n", " function display_loaded() {\n", " var el = document.getElementById(\"1926\");\n", " if (el != null) {\n", " el.textContent = \"BokehJS is loading...\";\n", " }\n", " if (root.Bokeh !== undefined) {\n", " if (el != null) {\n", " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", "\n", " function on_error() {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (var i = 0; i < css_urls.length; i++) {\n", " var url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " }\n", "\n", " const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\": \"T2yuo9Oe71Cz/I4X9Ac5+gpEa5a8PpJCDlqKYO0CfAuEszu1JrXLl8YugMqYe3sM\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\": \"98GDGJ0kOMCUMUePhksaQ/GYgB3+NH9h996V88sh3aOiUNX3N+fLXAtry6xctSZ6\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\": \"89bArO+nlbP3sgakeHjCo1JYxYR5wufVgA3IbUvDY+K7w4zyxJqssu7wVnfeKCq8\"};\n", "\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " if (url in hashes) {\n", " element.crossOrigin = \"anonymous\";\n", " element.integrity = \"sha384-\" + hashes[url];\n", " }\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " \n", " var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\"];\n", " var css_urls = [];\n", " \n", "\n", " var inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " function(Bokeh) {\n", " \n", " \n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " \n", " if (root.Bokeh !== undefined || force === true) {\n", " \n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", " if (force === true) {\n", " display_loaded();\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " } else if (force !== true) {\n", " var cell = $(document.getElementById(\"1926\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", "\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(css_urls, js_urls, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"
    \\n\"+\n \"
  • re-rerun `output_notebook()` to attempt to load from CDN again, or
  • \\n\"+\n \"
  • use INLINE resources instead, as so:
  • \\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"1926\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\": \"T2yuo9Oe71Cz/I4X9Ac5+gpEa5a8PpJCDlqKYO0CfAuEszu1JrXLl8YugMqYe3sM\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\": \"98GDGJ0kOMCUMUePhksaQ/GYgB3+NH9h996V88sh3aOiUNX3N+fLXAtry6xctSZ6\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\": \"89bArO+nlbP3sgakeHjCo1JYxYR5wufVgA3IbUvDY+K7w4zyxJqssu7wVnfeKCq8\"};\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n if (url in hashes) {\n element.crossOrigin = \"anonymous\";\n element.integrity = \"sha384-\" + hashes[url];\n }\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.2.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.2.3.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"1926\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "D:\\anaconda3\\lib\\site-packages\\bokeh\\plotting\\graph.py:120: UserWarning: Node keys in 'layout_function' don't match node keys in the graph. These nodes may not be displayed correctly.\n", " warn(\"Node keys in 'layout_function' don't match node keys in the graph. \"\n" ] }, { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " \n", " var docs_json = {\"34e0bd13-73dd-49b1-986c-15fdbf488d92\":{\"roots\":{\"references\":[{\"attributes\":{\"plot_height\":500,\"plot_width\":500,\"renderers\":[{\"id\":\"1960\"},{\"id\":\"1932\"},{\"id\":\"1946\"}],\"title\":{\"id\":\"2144\"},\"toolbar\":{\"id\":\"2041\"},\"x_range\":{\"id\":\"2002\"},\"x_scale\":{\"id\":\"2142\"},\"y_range\":{\"id\":\"2003\"},\"y_scale\":{\"id\":\"2145\"}},\"id\":\"1929\",\"type\":\"Plot\"},{\"attributes\":{\"data\":{\"color\":[\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"yellow\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"yellow\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"],\"index\":[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],\"k\":[\"100\",\"0.05\",\"100\",\"100\",\"100\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"100\",\"100\",\"100\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"100\",\"100\",\"0.05\",\"100\",\"100\",\"0.2\",\"100\",\"0.2\",\"100\",\"2\",\"100\",\"2\"],\"k_r\":[\"10\",\"None\",\"10\",\"10\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"10\",\"10\",\"10\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"10\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\"],\"species\":[\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=kint).\\n search_key=(mech=Bxb1, partid=Bxb1, name=kint).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=kint).\\n search_key=(mech=Bxb1, partid=Bxb1, name=kint).\\n\",\"2protein[Bxb1]+dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=ku).\\n\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=ku).\\n\",\"2protein[Bxb1]+dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=ku).\\n\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=ku).\\n\",\"rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[part[attB-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_part_attB_reverse_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[part[attB-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]] --> rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[GFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_part_attB_reverse_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[part[attR-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_part_attR_reverse_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[part[attR-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]] --> rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_part_attR_reverse_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kdeg).\\n\",\"rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kdeg).\\n\"],\"type\":[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]},\"selected\":{\"id\":\"2182\"},\"selection_policy\":{\"id\":\"2181\"}},\"id\":\"1934\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1948\"}},\"id\":\"1950\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2181\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1951\",\"type\":\"MultiLine\"},{\"attributes\":{\"data\":{\"color\":[\"purple\",\"white\",\"green\",\"green\",\"green\",\"white\",\"grey\",\"orange\",\"grey\",\"yellow\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"orange\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"lightgreen\",\"grey\",\"red\",\"cyan\",\"cyan\"],\"image\":[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],\"species\":[\"nothing\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[RNAP in default.]\",\"protein[Ribo in default.]\",\"protein[RNAase in default.]\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[Bxb1 in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[attB-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[GFP in default.]\",\"ordered_polymer[part[attR-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"protein[RFP in default.]\",\"complex[protein[RNAase]:rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] in default.]\",\"complex[protein[RNAase]:rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]] in default.]\"],\"type\":[\"nothing\",\"dna\",\"protein\",\"protein\",\"protein\",\"dna\",\"ordered_polymer\",\"rna\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"rna\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"protein\",\"complex\",\"complex\"]},\"selected\":{\"id\":\"2186\"},\"selection_policy\":{\"id\":\"2185\"}},\"id\":\"1948\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"field\":\"color\"},\"size\":{\"units\":\"screen\",\"value\":12}},\"id\":\"2019\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{\"end\":[43,44,46,29,36,39,44,47,53,56,60,63,65,67,69,59,60,62,29,31,43,63,67,29,30,32,38,31,32,33,34,38,41,43,46,49,50,51,52,55,58,59,62,31,34,35,39,32,33,44,45,33,36,37,41,34,36,46,38,39,40,41,42,47,49,59,65,69,47,48,50,55,49,52,56,50,51,60,61,51,53,54,58,52,53,62,55,56,57,58,63,64,65,66,67,68,69,70,6,2,8,6,7,2,9,6,10,9,11,8,9,11,12,9,13,10,18,13,2,12,13,7,2,9,8,14,10,2,14,10,7,2,9,12,14,22,9,1,6,1,2,11,1,7,2,9,1,13,15,2,17,15,16,2,9,15,18,9,19,17,9,19,20,9,21,18,21,2,20,21,16,2,9,17,22,18,2,22,18,16,2,9,20,22,9,5,15,5,2,19,5,16,2,9,5,21,7,3,23,7,24,3,16,3,25,16,26,3,7,4,27,4,16,4,28,4],\"start\":[1,1,1,2,2,2,2,2,2,2,2,3,3,4,4,5,5,5,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,14,14,14,14,14,15,15,15,16,16,17,17,17,17,18,18,18,19,19,19,19,20,20,20,20,21,21,21,22,22,22,22,23,23,25,25,27,27,28,28,29,29,29,30,30,30,31,31,31,32,32,32,33,33,33,34,34,34,35,36,36,36,37,37,37,38,38,38,39,39,39,40,40,40,41,41,41,42,43,43,43,44,44,44,45,45,45,46,46,46,47,47,47,48,48,48,49,49,49,50,50,50,51,51,51,52,52,52,53,53,53,54,54,54,55,55,55,56,56,56,57,57,57,58,58,58,59,59,59,60,60,60,61,61,61,62,62,62,63,63,63,64,64,64,65,65,65,66,66,66,67,67,67,68,69,69,69,70],\"weight\":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],\"xs\":[[38.62875860725352,44.55684110945015,46.535974381073665,45.920273610871604,41.93095231902284,44.55684110945015],[38.62875860725352,46.619919010950646,44.21660654288114,48.98617598462057,47.900777851845035,46.619919010950646],[38.62875860725352,36.86578390283479,34.66809139770315,35.95462941927942,39.49569009665867,36.86578390283479],[38.01851613841379,82.1838909085807,80.83250781663322,85.60098241740279,81.91434829332653,82.1838909085807],[38.01851613841379,62.68178597342211,60.051478623455864,63.96406754265972,64.70383242253688,62.68178597342211],[38.01851613841379,89.6927349664486,87.67414023160839,92.67205765359186,90.29806326661136,89.6927349664486],[38.01851613841379,48.24611348538307,45.62711212061018,48.98617598462057,50.51406006369418,48.24611348538307],[38.01851613841379,-11.827159324360137,-9.56368543706881,-14.474062509335482,-12.835052725754753,-11.827159324360137],[38.01851613841379,53.261013705112504,55.469903826527016,54.145932062884846,50.63235521893966,53.261013705112504],[38.01851613841379,6.033799272694411,8.396893431635569,3.576590754963674,4.83630236043556,6.033799272694411],[38.01851613841379,19.117463429481994,21.749197135175216,18.159803254556575,16.940003773018113,19.117463429481994],[-286.5950992823504,-286.8650455984494,-284.3462237281186,-286.9473150788293,-289.3448422582111,-286.8650455984494],[-286.5950992823504,-284.3387595242941,-286.96440886315423,-283.50710427846286,-282.10761275114425,-284.3387595242941],[-258.0022671758581,-260.8302175820438,-258.2001832004184,-261.7442682929539,-263.0266644255027,-260.8302175820438],[-258.0022671758581,-258.36370718734156,-260.82809233489047,-258.505245072768,-255.8321823695678,-258.36370718734156],[17.743316691760974,9.93736781114519,8.668061673146436,7.558215294976151,12.335244683891743,9.93736781114519],[17.743316691760974,18.038900362216804,20.508732689370266,18.159803254556575,15.511716745007869,18.038900362216804],[17.743316691760974,30.85276054895962,29.43417487936631,34.245604726245524,30.661922434234143,30.85276054895962],[65.64598398594026,82.27697660294078,82.27137371312948,85.60098241740279,80.70580975695816,82.27697660294078],[65.64598398594026,70.02141971515357,67.61864026793138,72.38895024315336,71.30114141413819,70.02141971515357],[65.64598398594026,49.31111069177267,49.49584053013631,45.920273610871604,50.73485255490572,49.31111069177267],[-273.81641489809954,-283.53599379236425,-283.2860931221397,-286.9473150788293,-282.1677059082351,-283.53599379236425],[-273.81641489809954,-265.196906954763,-266.42568278541836,-261.7442682929539,-265.60591891824663,-265.196906954763],[122.61550865879971,89.03667315190904,90.32858603855303,85.60098241740279,89.37450866947894,89.03667315190904],[122.61550865879971,155.0966566372245,155.03926121989178,158.44156723816894,153.56736595985822,155.0966566372245],[122.61550865879971,104.77109605448753,103.25279349017677,102.69240397405845,107.27544345307473,104.77109605448753],[122.61550865879971,129.76272809346392,128.66374515175158,133.2416662438215,129.21144786044997,129.76272809346392],[62.846866701969994,71.67549028295963,69.0587648865518,72.38895024315336,73.95378002800977,71.67549028295963],[62.846866701969994,100.88529197052866,98.31568989970624,102.69240397405845,102.59767546972323,100.88529197052866],[62.846866701969994,87.5191093928841,84.89083543271676,88.39654115785227,89.7311663157025,87.5191093928841],[62.846866701969994,61.082015665776915,58.60531427406377,60.987617971056714,63.60349538715361,61.082015665776915],[62.846866701969994,130.20369612107902,128.24170516340791,133.2416662438215,130.72460074642618,130.20369612107902],[62.846866701969994,121.6471807607808,119.10122302662111,123.56582049542105,123.28301581876757,121.6471807607808],[62.846866701969994,47.18869193138727,45.15948274494385,45.920273610871604,49.8195858716341,47.18869193138727],[62.846866701969994,37.199134324883076,35.157683495964044,35.95462941927942,39.830926380843714,37.199134324883076],[62.846866701969994,-0.500467272931862,0.3560472149595846,-4.000271617543496,0.30317946626434633,-0.500467272931862],[62.846866701969994,1.3305432620103217,3.7334026458119336,-1.0367963984258795,0.050651086833956915,1.3305432620103217],[62.846866701969994,39.008045334233124,41.6418149585904,37.966638236829645,36.86827580659126,39.008045334233124],[62.846866701969994,33.28592324788736,35.12446535335995,30.137301187127907,32.94095613956385,33.28592324788736],[62.846866701969994,-11.299671647659755,-9.17898894419174,-14.15804182455051,-12.064462743174383,-11.299671647659755],[62.846866701969994,29.472749923334835,32.05794260820442,27.752447610138006,27.7035969132647,29.472749923334835],[62.846866701969994,10.738470434312905,12.536687988800292,7.558215294976151,10.448833290242437,10.738470434312905],[62.846866701969994,36.56922471534966,38.98991136167253,34.245604726245524,35.25076648883425,36.56922471534966],[78.68015007462539,73.68707332827549,76.3166507616842,72.38895024315336,71.67327135020763,73.68707332827549],[78.68015007462539,64.22105623418864,64.03101022728347,60.987617971056714,65.94491050751817,64.22105623418864],[78.68015007462539,82.35924618182347,79.78995305998727,84.16795301210955,84.07056421272847,82.35924618182347],[78.68015007462539,89.49997916046934,89.80417204248138,92.67205765359186,87.69108452800987,89.49997916046934],[77.43556807535393,100.71040959169217,102.30084713053715,102.69240397405845,98.17979657390188,100.71040959169217],[77.43556807535393,85.12726467131597,85.24452651109013,88.39654115785227,83.4591944065128,85.12726467131597],[77.43556807535393,51.361312962771194,53.76089158995833,48.98617598462057,50.088400266557805,51.361312962771194],[77.43556807535393,76.26559267808445,73.79368017605562,76.1526581726666,78.7910765997224,76.26559267808445],[101.537785389065,90.78500763185531,93.17890514878623,88.39654115785227,89.52409900284424,90.78500763185531],[101.537785389065,66.86080026043906,68.95100084309695,63.96406754265972,66.1446888752809,66.86080026043906],[101.537785389065,115.61910593850253,113.00132474766336,117.08568829420452,117.5412016213744,115.61910593850253],[101.537785389065,120.98029705067039,122.05209319123554,123.56582049542105,118.68203641322276,120.98029705067039],[48.49099683662785,58.77408043395907,60.18560029968056,60.987617971056714,56.31255067284145,58.77408043395907],[48.49099683662785,60.52971856099159,59.23321974086385,63.96406754265972,60.19710544849612,60.52971856099159],[48.49099683662785,38.333597881791235,40.73155293718913,35.95462941927942,37.06412625376182,38.333597881791235],[136.5390953393929,133.64329092898623,136.22203396017733,133.2416662438215,131.25506189929308,133.64329092898623],[136.5390953393929,96.01154245519758,97.55201233305695,92.67205765359186,96.0551848991056,96.01154245519758],[136.5390953393929,160.1983229629541,158.6148847851212,163.51589843716377,160.20804169024126,160.1983229629541],[136.5390953393929,125.23989295127504,123.44146549176409,123.56582049542105,127.8324305692076,125.23989295127504],[136.5390953393929,145.82148311957337,144.37669088455698,149.2039034205593,145.66179622247583,145.82148311957337],[-9.629416592398378,-13.088055880568575,-10.46369977459149,-14.474062509335482,-15.054948243148704,-13.088055880568575],[-9.629416592398378,-5.475447435481065,-8.092424011641105,-4.000271617543496,-3.5582327473956687,-5.475447435481065],[-9.629416592398378,4.734664948495199,5.5422827715755645,7.558215294976151,2.5876725928999997,4.734664948495199],[-271.5279973930784,-280.01139470254486,-279.05853734763224,-283.50710427846286,-279.30603321787197,-280.01139470254486],[-271.5279973930784,-261.9190111427493,-262.1771562192039,-258.505245072768,-263.28021432399254,-261.9190111427493],[-23.114190525823886,-15.244403937749155,-17.8658075278922,-14.474062509335482,-12.98841819533257,-15.244403937749155],[-23.114190525823886,-38.1881414793782,-35.82151188229243,-40.63774485674062,-39.392781391211635,-38.1881414793782],[-23.114190525823886,-4.363375551982674,-4.3751861733271,-1.0367963984258795,-5.929555351181573,-4.363375551982674],[-23.114190525823886,-16.778361931656168,-19.057224443995093,-14.15804182455051,-15.742470001679246,-16.778361931656168],[8.5393837034395,-0.7412432385855383,-0.879854408611358,-4.000271617543496,0.9433150816158227,-0.7412432385855383],[8.5393837034395,26.97594877335776,27.29896264268866,30.137301187127907,25.15332115830943,26.97594877335776],[8.5393837034395,5.428910260257755,7.989431377709511,3.576590754963674,3.7470522679609726,5.428910260257755],[15.33257186089837,1.6335478476541383,0.6507702996059397,-1.0367963984258795,3.8830253434134443,1.6335478476541383],[15.33257186089837,34.51020550470145,33.29718283884814,37.966638236829645,34.083640627682385,34.51020550470145],[15.33257186089837,17.877910426956817,15.319173045839676,18.159803254556575,20.30292960657057,17.877910426956817],[15.33257186089837,11.935311776048875,14.530675452734007,11.417031750151304,9.585798529572468,11.935311776048875],[51.04680905274896,41.17716273289949,42.934166220811186,37.966638236829645,40.94309817590158,41.17716273289949],[51.04680905274896,53.826360043301754,51.261007083090725,54.145932062884846,56.24012136468568,53.826360043301754],[51.04680905274896,64.10354211050272,65.72760259742896,66.03880646548292,61.561472920818694,64.10354211050272],[51.04680905274896,30.86537098870707,30.46089953307741,27.752447610138006,32.746483475413726,30.86537098870707],[44.17434277356989,32.46502879658987,31.15015363034847,30.137301187127907,34.884080866434445,32.46502879658987],[44.17434277356989,51.51022641488972,52.52997517615842,54.145932062884846,49.240208812291556,51.51022641488972],[44.17434277356989,37.73970702489525,38.71350581051318,34.245604726245524,38.42336465355577,37.73970702489525],[-8.186333362886533,-12.12786317405144,-9.609896806940547,-14.15804182455051,-13.682797454866176,-12.12786317405144],[-8.186333362886533,2.3839606658035977,-0.24928986419888366,3.576590754963674,4.4514772183253,2.3839606658035977],[-8.186333362886533,-34.586712691974625,-33.657857456409864,-38.08394596443741,-33.85662630985651,-34.586712691974625],[-8.186333362886533,24.56004827365424,24.82771879001455,27.752447610138006,22.778036646205667,24.56004827365424],[-296.33807930941845,-289.5857384880511,-291.85417617526707,-286.9473150788293,-288.5688588347505,-289.5857384880511],[-296.33807930941845,-301.77577817767786,-299.5424453332656,-304.47233655130924,-302.72997618548874,-301.77577817767786],[-291.0619036129435,-285.52172180999963,-283.95522739874434,-283.50710427846286,-288.04386676166814,-285.52172180999963],[-291.0619036129435,-295.37154523591073,-296.89603590485666,-297.4421258741794,-292.864857462574,-295.37154523591073],[-255.3308344916598,-259.4784783128989,-260.8465229389639,-261.7442682929539,-257.0356374116072,-259.4784783128989],[-255.3308344916598,-252.93948669629452,-251.79635547012484,-250.42551642193692,-255.2751405793279,-252.93948669629452],[-250.34067542309418,-255.86921699235234,-253.59938655219565,-258.505245072768,-256.88862564268584,-255.86921699235234],[-250.34067542309418,-247.63888182465314,-249.92824261678092,-245.03720929784112,-246.58364598046492,-247.63888182465314],[85.60098241740279,68.96998980040227,68.97559269021357,65.64598398594026,70.54115664638489,68.96998980040227],[85.60098241740279,41.43560764723589,42.78699073918335,38.01851613841379,41.705150262490044,41.43560764723589],[85.60098241740279,119.17981792429346,117.88790503764947,122.61550865879971,118.84198240672356,119.17981792429346],[158.44156723816894,69.12412776341898,69.67011894638813,65.64598398594026,70.22802293781051,69.12412776341898],[158.44156723816894,-270.3261566186133,-269.6847360554741,-273.81641489809954,-269.31194420985634,-270.3261566186133],[158.44156723816894,41.51310377765893,42.48092520401474,38.01851613841379,42.20296899091963,41.51310377765893],[72.38895024315336,63.560326662163725,66.17705205857155,62.846866701969994,61.28203691711359,63.560326662163725],[72.38895024315336,68.01351451394005,70.41629396116224,65.64598398594026,66.73379281495544,68.01351451394005],[72.38895024315336,77.38202698950326,74.75244955609455,78.68015007462539,79.39582896757112,77.38202698950326],[102.69240397405845,64.6539787054998,67.2235807763222,62.846866701969994,62.94159520630521,64.6539787054998],[102.69240397405845,79.41756245772021,77.82712491887523,77.43556807535393,81.9481754755105,79.41756245772021],[102.69240397405845,120.53681657837063,122.05511914268138,122.61550865879971,118.03246917978343,120.53681657837063],[88.39654115785227,63.72429846693816,66.3525724271055,62.846866701969994,61.512241544119775,63.72429846693816],[88.39654115785227,80.70484456189023,80.58758272211607,77.43556807535393,82.3729148266934,80.70484456189023],[88.39654115785227,99.14931891506195,96.75542139813103,101.537785389065,100.41022754407302,99.14931891506195],[60.987617971056714,62.75246900724979,65.22917039896294,62.846866701969994,60.2309892858731,62.75246900724979],[60.987617971056714,50.704534373725494,49.293014508004,48.49099683662785,53.16606413484312,50.704534373725494],[60.987617971056714,75.44671181149347,75.63675781839864,78.68015007462539,73.72285753816392,75.44671181149347],[84.16795301210955,11.003479255957673,13.363343611372516,8.5393837034395,9.812479069315026,11.003479255957673],[63.96406754265972,51.92534581829598,53.22184463842372,48.49099683662785,52.25795893079145,51.92534581829598],[63.96406754265972,39.3007977076514,41.93110505761764,38.01851613841379,37.27875125853663,39.3007977076514],[63.96406754265972,98.64105267128565,96.55085208862776,101.537785389065,99.3571640564438,98.64105267128565],[117.08568829420452,51.08356628415276,53.377965439965664,48.49099683662785,50.01897395509564,51.08356628415276],[117.08568829420452,-270.39824015710013,-269.05010335612405,-273.81641489809954,-270.1249374107043,-270.39824015710013],[117.08568829420452,39.8888147819441,42.44553566266915,38.01851613841379,38.21928557976078,39.8888147819441],[133.2416662438215,65.88483682471247,67.84682778238357,62.846866701969994,65.36393219936531,65.88483682471247],[133.2416662438215,126.09444680915729,127.19342975086963,122.61550865879971,126.64572704217125,126.09444680915729],[133.2416662438215,136.13747065422817,133.55872762303707,136.5390953393929,138.52569968392132,136.13747065422817],[92.67205765359186,81.85222856774791,81.54803568573587,78.68015007462539,83.66112320020738,81.85222856774791],[92.67205765359186,40.997838825557054,43.01643356039726,38.01851613841379,40.392510525394286,40.997838825557054],[92.67205765359186,133.19961053778718,131.6591406599278,136.5390953393929,133.15596809387918,133.19961053778718],[163.51589843716377,82.1172273786743,83.40434556629519,78.68015007462539,82.46051532603357,82.1172273786743],[163.51589843716377,-270.3192144367847,-269.389779645225,-273.81641489809954,-269.5897231749017,-270.3192144367847],[163.51589843716377,41.20974858175711,42.9933359710822,38.01851613841379,40.93994877807794,41.20974858175711],[123.56582049542105,64.76550643661025,67.31146417076994,62.846866701969994,63.12967137862347,64.76550643661025],[123.56582049542105,104.12330883381566,103.0515126932505,101.537785389065,106.42156947126328,104.12330883381566],[123.56582049542105,134.8650228835389,136.66345034304987,136.5390953393929,132.27248526560635,134.8650228835389],[149.2039034205593,-5.387809485821219,-3.22265317328912,-8.186333362886533,-6.225462779238571,-5.387809485821219],[45.920273610871604,61.57844838145433,63.607657567897746,62.846866701969994,58.9475544412075,61.57844838145433],[45.920273610871604,39.99219110867498,38.01305783705146,38.62875860725352,42.618079899102284,39.99219110867498],[45.920273610871604,62.2551469050392,62.07041706667555,65.64598398594026,60.831405041906145,62.2551469050392],[48.98617598462057,40.99501558092345,43.39832804899296,38.62875860725352,39.71415674002906,40.99501558092345],[48.98617598462057,38.75857863765129,41.37758000242418,38.01851613841379,36.490632059340186,38.75857863765129],[48.98617598462057,75.0604310972033,72.66085247001618,77.43556807535393,76.33334379341669,75.0604310972033],[76.1526581726666,40.08780402580001,42.706274332552155,38.62875860725352,38.161444018345065,40.08780402580001],[76.1526581726666,-270.4091486707539,-269.02934798000354,-273.81641489809954,-270.17268435808666,-270.4091486707539],[76.1526581726666,39.06876118850135,41.702650365227385,38.01851613841379,36.93306446467072,39.06876118850135],[35.95462941927942,61.60236179636634,63.64381262528537,62.846866701969994,58.9705697404057,61.60236179636634],[35.95462941927942,37.71760412369815,39.91529662882979,38.62875860725352,35.087697929874274,37.71760412369815],[35.95462941927942,46.112028374116036,43.71407331871814,48.49099683662785,47.38150000214545,46.112028374116036],[-14.474062509335482,-11.015423221165285,-13.639779327142369,-9.629416592398378,-9.048530858585156,-11.015423221165285],[-14.474062509335482,35.371612953438444,33.10813906614712,38.01851613841379,36.37950635483306,35.371612953438444],[-14.474062509335482,-22.343849097410214,-19.722445507267167,-23.114190525823886,-24.599834839826798,-22.343849097410214],[-40.63774485674062,-11.09207005902447,-13.710212404537046,-9.629416592398378,-9.167749520349913,-11.09207005902447],[-40.63774485674062,-268.72017579494894,-269.5467408733428,-271.5279973930784,-266.5616972463148,-268.72017579494894],[-40.63774485674062,35.875812420632926,33.390852451246104,38.01851613841379,37.344363104491215,35.875812420632926],[-4.000271617543496,59.34706235735836,58.49054786946691,62.846866701969994,58.54341561816215,59.34706235735836],[-4.000271617543496,-8.154240774460808,-5.537264198300769,-9.629416592398378,-10.071455462546204,-8.154240774460808],[-4.000271617543496,5.280355324481542,5.41896649450736,8.5393837034395,3.595797004280181,5.280355324481542],[-1.0367963984258795,60.47952704153379,58.07666765773218,62.846866701969994,61.75941921671016,60.47952704153379],[-1.0367963984258795,12.662227614818352,13.64500516286655,15.33257186089837,10.412750119059044,12.662227614818352],[-1.0367963984258795,-19.78761137226709,-19.775800750922667,-23.114190525823886,-18.221431573068195,-19.78761137226709],[37.966638236829645,61.805459604566515,59.17168998020924,62.846866701969994,63.94522913220838,61.805459604566515],[37.966638236829645,18.78900459302656,20.002027258879878,15.33257186089837,19.215569470045626,18.78900459302656],[37.966638236829645,47.83628455667912,46.07928106876742,51.04680905274896,48.070349113677025,47.83628455667912],[30.137301187127907,59.69824464121054,57.85970253573795,62.846866701969994,60.04321174953405,59.69824464121054],[30.137301187127907,41.846615164107924,43.16149033034933,44.17434277356989,39.42756309426335,41.846615164107924],[30.137301187127907,11.700736117209647,11.377722247878744,8.5393837034395,13.523363732257973,11.700736117209647],[54.145932062884846,46.810048421565014,45.79029966029631,44.17434277356989,49.08006602416318,46.810048421565014],[54.145932062884846,38.90343449618613,36.69454437477162,38.01851613841379,41.532092982358975,38.90343449618613],[54.145932062884846,51.36638107233205,53.93173403254308,51.04680905274896,48.95261975094813,51.36638107233205],[66.03880646548292,45.28861499481364,43.18297534041123,44.17434277356989,47.92281892195256,45.28861499481364],[66.03880646548292,-268.4715394011536,-268.96468617238776,-271.5279973930784,-266.52853642346383,-268.4715394011536],[66.03880646548292,38.82645257409335,36.58559833647672,38.01851613841379,41.450558163041016,38.82645257409335],[-14.15804182455051,59.988496525079235,57.86781382161122,62.846866701969994,60.753287620593866,59.988496525079235],[-14.15804182455051,-20.493870418718227,-18.215007906379306,-23.114190525823886,-21.52976234869515,-20.493870418718227],[-14.15804182455051,-10.216512013385604,-12.734478380496496,-8.186333362886533,-8.66157773257087,-10.216512013385604],[3.576590754963674,6.6870641981454195,4.126543080693662,8.5393837034395,8.3689221904422,6.6870641981454195],[3.576590754963674,35.56130762068305,33.198213461741894,38.01851613841379,36.7588045329419,35.56130762068305],[3.576590754963674,-6.993703273726457,-4.360452743723975,-8.186333362886533,-9.061219826248157,-6.993703273726457],[-38.08394596443741,5.9278377304167185,3.644005585242607,8.5393837034395,6.972861376525881,5.9278377304167185],[-38.08394596443741,-268.5196728397788,-269.08391079675977,-271.5279973930784,-266.52841117229445,-268.5196728397788],[-38.08394596443741,35.41846947978354,33.12820468009556,38.01851613841379,36.475380575593036,35.41846947978354],[27.752447610138006,61.12656438877316,58.54137170390358,62.846866701969994,62.895717398843296,61.12656438877316],[27.752447610138006,47.9338856741799,48.33835712980956,51.04680905274896,46.05277318747324,47.9338856741799],[27.752447610138006,-4.993934026402766,-5.261604542763077,-8.186333362886533,-3.2119223989541927,-4.993934026402766],[7.558215294976151,59.666611562633236,57.86839400814585,62.846866701969994,59.956248706703704,59.666611562633236],[7.558215294976151,15.364164175591934,16.63347031359069,17.743316691760974,12.966287302845382,15.364164175591934],[7.558215294976151,-6.805866245917427,-7.613484068997794,-9.629416592398378,-4.658873890322227,-6.805866245917427],[18.159803254556575,17.864219584100745,15.394387256947285,17.743316691760974,20.39140320130968,17.864219584100745],[18.159803254556575,37.06085596348837,34.42912225779515,38.01851613841379,39.23831561995225,37.06085596348837],[18.159803254556575,15.614464688498128,18.173202069615268,15.33257186089837,13.189445508884377,15.614464688498128],[11.417031750151304,17.441909669094567,14.87970947858201,17.743316691760974,19.861134937773826,17.441909669094567],[11.417031750151304,-268.67554484386005,-269.4477026380075,-271.5279973930784,-266.5503025175414,-268.67554484386005],[11.417031750151304,37.32174103782359,34.70652169828708,38.01851613841379,39.606439327581725,37.32174103782359],[34.245604726245524,60.523246712865856,58.102560066542985,62.846866701969994,61.841704939381266,60.523246712865856],[34.245604726245524,21.13616086904688,22.554746538640188,17.743316691760974,21.326998983772352,21.13616086904688],[34.245604726245524,40.68024047492016,39.70644168930223,44.17434277356989,39.99658284625964,40.68024047492016],[-286.9473150788293,-277.2277361845646,-277.4776368547892,-273.81641489809954,-278.59602406869374,-277.2277361845646],[-286.9473150788293,-286.67736876273034,-289.1961906330611,-286.5950992823504,-284.19757210296865,-286.67736876273034],[-286.9473150788293,-293.69965590019666,-291.4312182129807,-296.33807930941845,-294.7165355534973,-293.69965590019666],[-304.47233655130924,-277.0791222146754,-278.7578138637572,-273.81641489809954,-276.94812285035067,-277.0791222146754],[-304.47233655130924,-85.92457844490649,-88.50951719268747,-84.20274820241545,-84.15640415786218,-85.92457844490649],[-304.47233655130924,-288.3913652978965,-290.9630465670259,-286.5950992823504,-286.671757716011,-288.3913652978965],[-283.50710427846286,-275.0237069689964,-275.97656432390903,-271.5279973930784,-275.7290684536693,-275.0237069689964],[-283.50710427846286,-285.76344403651916,-283.13779469765905,-286.5950992823504,-287.99459080966903,-285.76344403651916],[-283.50710427846286,-289.04728608140675,-290.61378049266204,-291.0619036129435,-286.52514112973824,-289.04728608140675],[-297.4421258741794,-274.3592275687858,-273.56094950492684,-271.5279973930784,-276.5005231558691,-274.3592275687858],[-297.4421258741794,132.31928411067284,130.3031706745591,135.30129410264752,132.92085636676708,132.31928411067284],[-297.4421258741794,-287.71708396329694,-285.6151307693893,-286.5950992823504,-290.3512598991877,-287.71708396329694],[-261.7442682929539,-270.36377623629045,-269.1350004056351,-273.81641489809954,-269.9547642728068,-270.36377623629045],[-261.7442682929539,-258.9163178867682,-261.5463522683936,-258.0022671758581,-256.7198710433093,-258.9163178867682],[-261.7442682929539,-257.5966244717148,-256.2285798456498,-255.3308344916598,-260.0394653730065,-257.5966244717148],[-250.42551642193692,-257.02766920997493,-259.19763695418106,-258.0022671758581,-254.3953928348738,-257.02766920997493],[-258.505245072768,-268.1142313230971,-267.8560862466425,-271.5279973930784,-266.75302814185386,-268.1142313230971],[-258.505245072768,-258.1438050612845,-255.67941991373564,-258.0022671758581,-260.67532987905827,-258.1438050612845],[-258.505245072768,-252.97670350350984,-255.24653394366652,-250.34067542309418,-251.95729485317634,-252.97670350350984],[-245.03720929784112,-256.35637481854775,-253.75967695215377,-258.0022671758581,-258.1723299900612,-256.35637481854775]],\"ys\":[[-67.44117217133547,-53.42561549664237,-55.16404650208879,-50.2021000532068,-53.21628578577242,-53.42561549664237],[-67.44117217133547,-76.15052324713086,-77.22904077057046,-78.72944316340559,-73.84867366532771,-76.15052324713086],[-67.44117217133547,-73.97974952574111,-72.52742087132681,-77.35906861500997,-73.82907013354877,-73.97974952574111],[-28.032552094391725,-37.82038568911342,-40.081552336298714,-38.57767402279874,-35.19999303798142,-37.82038568911342],[-28.032552094391725,-90.67057318676176,-90.81407967531956,-93.92722084611847,-88.98224886212297,-90.67057318676176],[-28.032552094391725,-59.88959852264297,-61.582048274931076,-61.72634464714505,-57.325873007583546,-59.88959852264297],[-28.032552094391725,-75.30857960324678,-75.02583816860667,-78.72944316340559,-73.96860602683881,-75.30857960324678],[-28.032552094391725,15.091223335658686,16.438738392752644,17.38118043773885,12.657448128502152,15.091223335658686],[-28.032552094391725,30.29534399072325,28.86010348855575,33.6816280160344,30.124272571087673,30.29534399072325],[-28.032552094391725,4.410420297092636,5.574420668021627,6.902834046932641,2.0641227855491477,4.410420297092636],[-28.032552094391725,38.40977653523811,38.29537124749812,41.77621188874808,36.927285283318945,38.40977653523811],[-85.04944514915242,-73.56826092280131,-74.33939466806721,-70.0692279517366,-74.45692249718137,-73.56826092280131],[-85.04944514915242,-94.27322814512645,-94.06091607083934,-97.67298542353345,-92.87283714822325,-94.27322814512645],[-82.89348044408302,-72.4407401698209,-72.58916529913778,-69.06220331226187,-73.89495202900929,-72.4407401698209],[-82.89348044408302,-91.82398851870612,-90.89344205985243,-95.32112549443198,-91.09563903903302,-91.82398851870612],[29.726599441615573,21.304234735596587,23.61247493011347,18.737206628074873,20.213685621300556,21.304234735596587],[29.726599441615573,38.2783007276944,37.36230992900024,41.77621188874808,37.53502834662848,38.2783007276944],[29.726599441615573,26.405916038477503,24.186293195387005,25.54649275007002,29.03321344865258,26.405916038477503],[-45.1566572206264,-39.67356879211866,-42.307782047565226,-38.57767402279874,-37.559202312619504,-39.67356879211866],[-45.1566572206264,-49.92060126620391,-51.000305760753825,-52.49835206854867,-47.618119292182705,-49.92060126620391],[-45.1566572206264,-49.334791635868214,-46.707057677804194,-50.2021000532068,-51.55111065052,-49.334791635868214],[-67.05579100306329,-69.2863569020034,-66.66401815146679,-70.0692279517366,-71.53733427498831,-69.2863569020034],[-67.05579100306329,-68.48836860524166,-70.81843745090738,-69.06220331226187,-65.88609650546579,-68.48836860524166],[-45.77282259116759,-39.2455281811506,-36.9498644512311,-38.57767402279874,-41.85799407195432,-39.2455281811506],[-45.77282259116759,-35.767714109202565,-38.40130797189549,-34.73738742717909,-33.62286425626058,-35.767714109202565],[-45.77282259116759,-69.94536765618676,-67.79272551436382,-72.76122263021533,-70.76228562926252,-69.94536765618676],[-45.77282259116759,-46.56047269944488,-48.954495957763385,-46.94386459553375,-43.98458431439542,-46.56047269944488],[-6.670902436019113,-49.07184146952809,-48.76875886141782,-52.49835206854867,-47.74953034685536,-49.07184146952809],[-6.670902436019113,-69.76383273120344,-70.3437086361778,-72.76122263021533,-67.76212005970666,-69.76383273120344],[-6.670902436019113,-101.94357902709073,-101.76669811277,-105.33181064518074,-100.51322416281548,-101.94357902709073],[-6.670902436019113,-72.08279199396007,-71.18554003167144,-75.58151877312297,-71.32039388127173,-72.08279199396007],[-6.670902436019113,-45.20583768742097,-46.963592604797526,-46.94386459553375,-42.623635286593995,-45.20583768742097],[-6.670902436019113,-96.38212208155164,-97.05829519800714,-99.30937703605417,-94.31738129137821,-96.38212208155164],[-6.670902436019113,-46.94002786452363,-45.26031927515513,-50.2021000532068,-47.07234544732037,-46.94002786452363],[-6.670902436019113,-74.08779859559421,-72.42298948321812,-77.35906861500997,-74.20085363408049,-74.08779859559421],[-6.670902436019113,-6.001058804109159,-3.5099759472822933,-5.964051380022493,-8.509696439584626,-6.001058804109159],[-6.670902436019113,60.31759857466939,61.39712516036387,62.89552466595397,58.015211359740725,60.31759857466939],[-6.670902436019113,69.81876543170627,69.77009887894584,73.16024283810567,68.28237445408374,69.81876543170627],[-6.670902436019113,7.6790620273081736,9.565559786105956,9.207518476965443,5.067528270735312,7.6790620273081736],[-6.670902436019113,45.723824739622955,47.28645577053084,47.74365639891081,43.20306980354405,45.723824739622955],[-6.670902436019113,52.46155842383371,52.96741378818347,55.50960041029151,50.50983905504514,52.46155842383371],[-6.670902436019113,17.275708339084375,19.200682233525036,18.737206628074873,14.6574606059011,17.275708339084375],[-6.670902436019113,22.92909133908322,23.96802686540755,25.54649275007002,20.648569738115917,22.92909133908322],[-68.2508640406593,-55.74871765658227,-55.59240582320979,-52.49835206854867,-57.44686737338425,-55.74871765658227],[-68.2508640406593,-74.24178857695867,-71.61443375074961,-75.58151877312297,-76.2336312695095,-74.24178857695867],[-68.2508640406593,-74.34590702680839,-74.92715028193471,-77.34233483372724,-72.34328338152602,-74.34590702680839],[-68.2508640406593,-63.2055059072751,-65.82210246732747,-61.72634464714505,-61.29056176286672,-63.2055059072751],[-109.52181539256982,-75.64595801986002,-77.74586737566025,-72.76122263021533,-74.9144468294227,-75.64595801986002],[-109.52181539256982,-106.58154311838487,-109.2131510923197,-105.33181064518074,-104.54275611155357,-106.58154311838487],[-109.52181539256982,-81.30018708978595,-80.21338753168364,-78.72944316340559,-83.60644035761311,-81.30018708978595],[-109.52181539256982,-145.76212645713036,-144.8517641941503,-149.2603039536971,-145.01309920189004,-145.76212645713036],[-119.40782573395269,-107.89017494734013,-106.79091813204326,-105.33181064518074,-110.20301309490473,-107.89017494734013],[-119.40782573395269,-95.8916392235897,-94.28846350277766,-93.92722084611847,-98.42665309960529,-95.8916392235897],[-119.40782573395269,-149.9204136466671,-150.214237581079,-153.09832745826483,-148.11911993007618,-149.9204136466671],[-119.40782573395269,-101.66841678066312,-104.07473427854536,-99.30937703605417,-100.38112935747299,-101.66841678066312],[-90.88734625840594,-78.29265351191034,-80.51677638086751,-75.58151877312297,-77.35457989929945,-78.29265351191034],[-90.88734625840594,-93.25250085077589,-95.54557775244142,-93.92722084611847,-90.63936492148696,-93.25250085077589],[-90.88734625840594,-79.9262672934091,-78.8358901018665,-77.35906861500997,-82.23441647688337,-79.9262672934091],[-75.48983588863821,-50.42074503815273,-50.95851380502938,-46.94386459553375,-51.53226335526474,-50.42074503815273],[-75.48983588863821,-62.774123850911,-60.63728894316718,-61.72634464714505,-65.40798151688963,-62.774123850911],[-75.48983588863821,-83.44293401885764,-85.54812626768573,-84.55814385244169,-80.80873273310051,-83.44293401885764],[-75.48983588863821,-96.2357014818437,-94.31092369196207,-99.30937703605417,-96.70245577175349,-96.2357014818437],[-75.48983588863821,-77.95853921832963,-80.16119358640034,-78.85811295487282,-75.32916458499189,-77.95853921832963],[6.14740934341162,14.167306509748798,14.395047363715406,17.38118043773885,12.415037894048396,14.167306509748798],[6.14740934341162,-2.790117495050687,-3.091023572381013,-5.964051380022493,-0.983629546755914,-2.790117495050687],[6.14740934341162,16.668979503001978,14.16161747900393,18.737206628074873,18.195260831119576,16.668979503001978],[-98.26666907866377,-97.84623253270126,-95.39038772312277,-97.67298542353345,-100.3842585458628,-97.84623253270126],[-98.26666907866377,-96.09326616778404,-98.71480617073018,-95.32112549443198,-93.83799749932835,-96.09326616778404],[55.67444452252883,20.79535297053059,21.054879626444382,17.38118043773885,22.155367381321057,20.79535297053059],[55.67444452252883,71.05783243822296,72.2146276740976,73.5577210944664,68.71519427786558,71.05783243822296],[55.67444452252883,61.80746624145584,59.17327350424618,62.89552466595397,63.925529437898746,61.80746624145584],[55.67444452252883,50.0639845085319,48.74266073390247,47.74365639891081,52.48597517262483,50.0639845085319],[-1.0535872666220165,-4.6878327368634665,-2.057262872539632,-5.964051380022493,-6.713017699622428,-4.6878327368634665],[-1.0535872666220165,7.705569437899982,5.091229577100602,9.207518476965443,9.607447311057953,7.705569437899982],[-1.0535872666220165,3.9331686701086643,4.551911326330339,6.902834046932641,1.905740604481652,3.9331686701086643],[76.76526495822881,65.15810319661922,67.60212839260167,62.89552466595397,63.787350898201645,65.15810319661922],[76.76526495822881,73.71076329028965,71.37245473929157,73.16024283810567,76.31021578518897,73.71076329028965],[76.76526495822881,45.2648414812597,45.89091965690428,41.77621188874808,46.2936236963325,45.2648414812597],[76.76526495822881,99.45439536899462,99.00362019966065,102.9158092152077,98.26322016266411,99.45439536899462],[67.48190052494404,71.76649520666895,73.72915911345757,73.16024283810567,69.14269554764351,71.76649520666895],[67.48190052494404,37.16700801315087,37.7654017439679,33.6816280160344,38.221933200515174,37.16700801315087],[67.48190052494404,87.15736762692025,85.08335258301398,90.07365840054743,87.84801594727142,87.15736762692025],[67.48190052494404,57.10950916992694,59.71249086581446,55.50960041029151,55.26545746785865,57.10950916992694],[24.969373161526867,11.821267542225627,14.103856897485631,9.207518476965443,10.778531741111395,11.821267542225627],[24.969373161526867,31.378791561327596,28.94995988098505,33.6816280160344,32.71525366383522,31.378791561327596],[24.969373161526867,25.34339394019983,27.791010493639874,25.54649275007002,22.79943578128312,25.34339394019983],[39.35743744240242,44.892625945362866,45.66654857821645,47.74365639891081,42.76629336321778,44.892625945362866],[39.35743744240242,10.19337100469957,10.121939122557903,6.902834046932641,11.825696392786584,10.19337100469957],[39.35743744240242,40.407782359278016,42.872805446169615,40.546920556690665,37.876757914079924,40.407782359278016],[39.35743744240242,54.07482290962529,51.45423836372412,55.50960041029151,56.014808844415214,54.07482290962529],[-61.88398053400306,-67.76950581337498,-69.10864782479982,-70.0692279517366,-65.33947152591156,-67.76950581337498],[-61.88398053400306,-57.38454779261811,-55.98764576541138,-55.153276196061924,-59.83987201345624,-57.38454779261811],[-108.4056404402254,-100.53503297758013,-102.65286350126479,-97.67298542353345,-99.77483845621224,-100.53503297758013],[-108.4056404402254,-114.27889833627972,-112.13063413748071,-117.10072324587757,-115.08860647786452,-114.27889833627972],[-61.51136956844181,-66.39458344311214,-64.14345822033147,-69.06220331226187,-67.38030104898147,-66.39458344311214],[-61.51136956844181,-59.194997879242855,-61.56825763479016,-56.759848302800705,-57.97687152856503,-59.194997879242855],[-102.4525575507823,-97.62359285777511,-96.28681290562041,-95.32112549443198,-100.05256730621419,-97.62359285777511],[-102.4525575507823,-104.88387309175361,-106.18692260386462,-107.2250907371748,-102.47024756556172,-104.88387309175361],[-38.57767402279874,-44.06076245130648,-41.42654919585991,-45.1566572206264,-46.175128930805634,-44.06076245130648],[-38.57767402279874,-28.789840428077042,-26.528673780891754,-28.032552094391725,-31.410233079209043,-28.789840428077042],[-38.57767402279874,-45.10496843281573,-47.40063216273523,-45.77282259116759,-42.492502542012005,-45.10496843281573],[-34.73738742717909,-44.76612442663073,-42.18910977869708,-45.1566572206264,-47.157886603666675,-44.76612442663073],[-34.73738742717909,-66.79483671113087,-64.23990216623021,-67.05579100306329,-69.22598542263907,-66.79483671113087],[-34.73738742717909,-28.227121443558303,-25.77713520803957,-28.032552094391725,-30.76940326410405,-28.227121443558303],[-52.49835206854867,-10.097413035039692,-10.400495643149958,-6.670902436019113,-11.419724157712427,-10.097413035039692],[-52.49835206854867,-47.73440802297116,-46.654703528421244,-45.1566572206264,-50.036889996992365,-47.73440802297116],[-52.49835206854867,-65.00049845262569,-65.15681028599818,-68.2508640406593,-63.30234873582371,-65.00049845262569],[-72.76122263021533,-9.668292335031005,-9.088416430056645,-6.670902436019113,-11.670005006527784,-9.668292335031005],[-72.76122263021533,-106.63708000292513,-104.5371706471249,-109.52181539256982,-107.36859119336245,-106.63708000292513],[-72.76122263021533,-48.58867756519616,-50.74131970701909,-45.77282259116759,-47.7717595921204,-48.58867756519616],[-105.33181064518074,-10.059134054109123,-10.236014968429854,-6.670902436019113,-11.48948891838438,-10.059134054109123],[-105.33181064518074,-108.27208291936569,-105.64047494543085,-109.52181539256982,-110.31086992619699,-108.27208291936569],[-105.33181064518074,-116.8494614317933,-117.94871824709017,-119.40782573395269,-114.5366232842287,-116.8494614317933],[-75.58151877312297,-10.169629215182,-11.066881177470641,-6.670902436019113,-10.932027327870351,-10.169629215182],[-75.58151877312297,-88.17621151961856,-85.9520886506614,-90.88734625840594,-89.11428513222945,-88.17621151961856],[-75.58151877312297,-69.59059423682359,-72.21794906303265,-68.2508640406593,-67.59875154427276,-69.59059423682359],[-77.34233483372724,-3.539192446062258,-2.368657913642504,-1.0535872666220165,-5.888794417239894,-3.539192446062258],[-93.92722084611847,-91.56206625374853,-89.268989352083,-90.88734625840594,-94.17520218303746,-91.56206625374853],[-93.92722084611847,-31.289199753748434,-31.145693265190634,-28.032552094391725,-32.97752407838722,-31.289199753748434],[-93.92722084611847,-117.44340735648146,-119.0465830772935,-119.40782573395269,-114.90839348046588,-117.44340735648146],[-153.09832745826483,-93.23864029781495,-91.94448289573835,-90.88734625840594,-95.64815353505965,-93.23864029781495],[-153.09832745826483,-67.80817484126946,-65.54507121275428,-67.05579100306329,-70.42817798561053,-67.80817484126946],[-153.09832745826483,-30.990927152427584,-30.356664426414813,-28.032552094391725,-33.02851963145812,-30.990927152427584],[-46.94386459553375,-8.4089293441319,-6.651174426755342,-6.670902436019113,-10.99113174495887,-8.4089293441319],[-46.94386459553375,-46.15621448725646,-43.76219122893796,-45.77282259116759,-48.73210287230592,-46.15621448725646],[-46.94386459553375,-72.01295544601923,-71.47518667914258,-75.48983588863821,-70.90143712890723,-72.01295544601923],[-61.72634464714505,-66.77170278052924,-64.15510622047688,-68.2508640406593,-68.68664692493762,-66.77170278052924],[-61.72634464714505,-29.869298218893807,-28.1768484666057,-28.032552094391725,-32.43302373395323,-29.869298218893807],[-61.72634464714505,-74.44205668487226,-76.57889159261607,-75.48983588863821,-71.80819901889363,-74.44205668487226],[-84.55814385244169,-68.91154520884243,-66.61318978840804,-68.2508640406593,-71.52330022276362,-68.91154520884243],[-84.55814385244169,-67.19575147383696,-64.730946849575,-67.05579100306329,-69.72694750859623,-67.19575147383696],[-84.55814385244169,-29.469923129494706,-27.531385822093807,-28.032552094391725,-32.09028931258426,-29.469923129494706],[-99.30937703605417,-9.598157390521635,-8.921984274066139,-6.670902436019113,-11.662898180695077,-9.598157390521635],[-99.30937703605417,-117.04878598934374,-114.6424684914615,-119.40782573395269,-118.33607341253388,-117.04878598934374],[-99.30937703605417,-78.56351144284868,-80.48828923273031,-75.48983588863821,-78.09675715293889,-78.56351144284868],[-78.85811295487282,37.2554707182378,38.75587366739748,39.35743744240242,34.757982414447035,37.2554707182378],[-50.2021000532068,-9.932974624702284,-11.612683214070778,-6.670902436019113,-9.80065704190554,-9.932974624702284],[-50.2021000532068,-64.2176567278999,-62.47922572245348,-67.44117217133547,-64.42698643876984,-64.2176567278999],[-50.2021000532068,-46.023965637964984,-48.651699596029005,-45.1566572206264,-43.807646623313204,-46.023965637964984],[-78.72944316340559,-70.0200920876102,-68.9415745641706,-67.44117217133547,-72.32194166941335,-70.0200920876102],[-78.72944316340559,-31.453415654550525,-31.73615708919065,-28.032552094391725,-32.79338923095851,-31.453415654550525],[-78.72944316340559,-106.95107146618946,-108.03787102429177,-109.52181539256982,-104.64481819836232,-106.95107146618946],[-149.2603039536971,-70.62255339128043,-70.33493538036664,-67.44117217133547,-72.41928597829019,-70.62255339128043],[-149.2603039536971,-67.8561264677215,-65.612187760593,-67.05579100306329,-70.47971094251538,-67.8561264677215],[-149.2603039536971,-31.37126222478139,-31.41295961402905,-28.032552094391725,-32.9133096855827,-31.37126222478139],[-77.35906861500997,-9.94217245543488,-11.606981567810966,-6.670902436019113,-9.829117416948598,-9.94217245543488],[-77.35906861500997,-70.82049126060433,-72.27281991501863,-67.44117217133547,-70.97117065279667,-70.82049126060433],[-77.35906861500997,-88.32014758000682,-89.41052477154942,-90.88734625840594,-86.01199839653253,-88.32014758000682],[17.38118043773885,9.36128327140167,9.133542417435063,6.14740934341162,11.113551887102073,9.36128327140167],[17.38118043773885,-25.742594992311563,-27.09011004940552,-28.032552094391725,-23.30881978515503,-25.742594992311563],[17.38118043773885,52.260271989737085,52.000745333823296,55.67444452252883,50.90025757894662,52.260271989737085],[73.5577210944664,9.327133362342614,9.036545120704115,6.14740934341162,11.126050073027104,9.327133362342614],[73.5577210944664,-96.17713853974415,-93.6759586104459,-98.26666907866377,-97.68713232205943,-96.17713853974415],[73.5577210944664,-25.265094637120146,-26.139214090106805,-28.032552094391725,-23.07820877899129,-25.265094637120146],[-5.964051380022493,-6.633895011932447,-9.124977868759313,-6.670902436019113,-4.125257376456979,-6.633895011932447],[-5.964051380022493,2.9734754584398138,3.2743815357701407,6.14740934341162,1.1669875101450407,2.9734754584398138],[-5.964051380022493,-2.3298059097810424,-4.960375774104877,-1.0535872666220165,-0.3046209470220813,-2.3298059097810424],[62.89552466595397,-4.092976344734529,-5.17250293042901,-6.670902436019113,-1.790589129805868,-4.092976344734529],[62.89552466595397,74.50268642756356,72.05866123158111,76.76526495822881,75.87343872598115,74.50268642756356],[62.89552466595397,56.76250294702696,59.39669568423662,55.67444452252883,54.644439750584056,56.76250294702696],[73.16024283810567,-3.329425029619713,-3.280758476859284,-6.670902436019113,-1.7930340519971724,-3.329425029619713],[73.16024283810567,76.21474450604484,78.55305305704292,76.76526495822881,73.61529201114551,76.21474450604484],[73.16024283810567,68.87564815638076,66.91298424959214,67.48190052494404,71.4994478154062,68.87564815638076],[9.207518476965443,-5.142445986361844,-7.0289437451596255,-6.670902436019113,-2.5309122297889823,-5.142445986361844],[9.207518476965443,22.355624096266684,20.07303474100668,24.969373161526867,23.398359897380914,22.355624096266684],[9.207518476965443,0.44836177244344544,3.062701633242826,-1.0535872666220165,-1.453516100714527,0.44836177244344544],[33.6816280160344,27.272209616233674,29.70104129657622,24.969373161526867,25.93574751372605,27.272209616233674],[33.6816280160344,-24.646268069080573,-23.211027566913074,-28.032552094391725,-24.475196649444996,-24.646268069080573],[33.6816280160344,63.99652052782757,63.39812679701053,67.48190052494404,62.941595340463266,63.99652052782757],[90.07365840054743,28.287263668605803,29.870106842566106,24.969373161526867,28.27828938364646,28.287263668605803],[90.07365840054743,-96.56136425441701,-93.9737172287263,-98.26666907866377,-98.34008578861882,-96.56136425441701],[90.07365840054743,-24.62708021579672,-23.242275842139478,-28.032552094391725,-24.396470750253144,-24.62708021579672],[47.74365639891081,-4.651070776731263,-6.213701807639147,-6.670902436019113,-2.1303158406523544,-4.651070776731263],[47.74365639891081,53.354116412907736,54.67544018753717,55.67444452252883,50.932125748814805,53.354116412907736],[47.74365639891081,42.20846789595036,41.43454526309678,39.35743744240242,44.33480047809545,42.20846789595036],[6.902834046932641,1.9160781102019604,1.2973354539802864,-1.0535872666220165,3.943506175828972,1.9160781102019604],[6.902834046932641,-25.54013834455172,-26.704138715480713,-28.032552094391725,-23.19384083300823,-25.54013834455172],[6.902834046932641,36.0669004846355,36.138332366777156,39.35743744240242,34.43457509654848,36.0669004846355],[40.546920556690665,1.2766117872762754,-0.036103566566308976,-1.0535872666220165,3.694676394894806,1.2766117872762754],[40.546920556690665,-96.47781934153804,-93.90473823215834,-98.26666907866377,-98.20234473687205,-96.47781934153804],[40.546920556690665,-25.689528967543495,-26.990988922691876,-28.032552094391725,-23.276636553220094,-25.689528967543495],[55.50960041029151,-3.6228604495613093,-4.128715813911074,-6.670902436019113,-1.6711410807727454,-3.6228604495613093],[55.50960041029151,65.88199176530861,63.2790100694211,67.48190052494404,67.7260434673769,65.88199176530861],[55.50960041029151,40.79221494306864,43.41279948896981,39.35743744240242,38.85222900827872,40.79221494306864],[18.737206628074873,-5.209404147028613,-7.134378041469275,-6.670902436019113,-2.591156413845341,-5.209404147028613],[18.737206628074873,27.159571334093854,24.851331139576978,29.726599441615573,28.25012044838989,27.159571334093854],[18.737206628074873,8.215636468484515,10.722998492482562,6.14740934341162,6.689355140366917,8.215636468484515],[41.77621188874808,33.22451060266925,34.140501401363416,29.726599441615573,33.96778298373517,33.22451060266925],[41.77621188874808,-24.66611674088175,-24.55171145314176,-28.032552094391725,-23.18362548896259,-24.66611674088175],[41.77621188874808,73.27663536571718,72.6505571900726,76.76526495822881,72.24785315064439,73.27663536571718],[102.9158092152077,33.21359726304985,33.82534970585825,29.726599441615573,34.25593116681026,33.21359726304985],[102.9158092152077,-96.23848899433749,-93.71998086282748,-98.26666907866377,-97.79491307599655,-96.23848899433749],[102.9158092152077,-24.60260975388547,-24.286795451392905,-28.032552094391725,-23.291402450549768,-24.60260975388547],[25.54649275007002,-4.0535010250323165,-5.092436551356642,-6.670902436019113,-1.7729794240650127,-4.0535010250323165],[25.54649275007002,28.86717615320809,31.08679899629859,29.726599441615573,26.23987874303301,28.86717615320809],[25.54649275007002,25.172471971397055,22.724855417957016,24.969373161526867,27.716430130313768,25.172471971397055],[-70.0692279517366,-67.83866205279648,-70.46100080333309,-67.05579100306329,-65.58768467981157,-67.83866205279648],[-70.0692279517366,-81.5504121780877,-80.7792784328218,-85.04944514915242,-80.66175060370765,-81.5504121780877],[-70.0692279517366,-64.18370267236467,-62.84456066093984,-61.88398053400306,-66.61373695982809,-64.18370267236467],[-55.153276196061924,-65.78900729367871,-67.81905783857844,-67.05579100306329,-63.15804738632718,-65.78900729367871],[-55.153276196061924,-441.92436997004285,-442.43152136535315,-444.97154909442054,-439.9717638760802,-441.92436997004285],[-55.153276196061924,-82.04554295344198,-82.6161271431581,-85.04944514915242,-80.05003283523504,-82.04554295344198],[-97.67298542353345,-98.09342196949595,-100.54926677907444,-98.26666907866377,-95.55539595633441,-98.09342196949595],[-97.67298542353345,-88.44920242755941,-88.66151450184653,-85.04944514915242,-89.84959342446261,-88.44920242755941],[-97.67298542353345,-105.54359288617871,-103.42576236249405,-108.4056404402254,-106.30378740754661,-105.54359288617871],[-117.10072324587757,-100.32437063432334,-102.83472180503756,-98.26666907866377,-98.7901072683127,-100.32437063432334],[-117.10072324587757,-381.17971959587396,-382.87512440896916,-383.01209958041954,-378.6151101347196,-381.17971959587396],[-117.10072324587757,-88.36473554001132,-89.95247092040884,-85.04944514915242,-88.34963566191385,-88.36473554001132],[-69.06220331226187,-67.6296257100835,-65.29955686441778,-67.05579100306329,-70.23189780985938,-67.6296257100835],[-69.06220331226187,-79.514943586524,-79.36651845720712,-82.89348044408302,-78.06073172733561,-79.514943586524],[-69.06220331226187,-64.17898943759154,-66.43011466037221,-61.51136956844181,-63.19327183172222,-64.17898943759154],[-56.759848302800705,-79.53190956056794,-78.03847363738625,-82.89348044408302,-79.43075644579075,-79.53190956056794],[-95.32112549443198,-97.49452840531171,-94.87298840236556,-98.26666907866377,-99.7497970737674,-97.49452840531171],[-95.32112549443198,-86.39061741980889,-87.32116387866257,-82.89348044408302,-87.11896689948199,-86.39061741980889],[-95.32112549443198,-100.15009018743918,-101.48687013959388,-102.4525575507823,-97.7211157390001,-100.15009018743918],[-107.2250907371748,-85.98233757061823,-85.5393126749186,-82.89348044408302,-87.89058747107627,-85.98233757061823]]},\"selected\":{\"id\":\"2176\"},\"selection_policy\":{\"id\":\"2175\"}},\"id\":\"1966\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1934\"}},\"id\":\"1936\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2184\",\"type\":\"Selection\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"1939\"},\"inspection_policy\":{\"id\":\"2163\"},\"layout_provider\":{\"id\":\"1945\"},\"node_renderer\":{\"id\":\"1935\"},\"selection_policy\":{\"id\":\"2158\"}},\"id\":\"1932\",\"type\":\"GraphRenderer\"},{\"attributes\":{},\"id\":\"2163\",\"type\":\"NodesOnly\"},{\"attributes\":{\"data_source\":{\"id\":\"1952\"},\"glyph\":{\"id\":\"1951\"},\"hover_glyph\":null,\"muted_glyph\":null,\"view\":{\"id\":\"1954\"}},\"id\":\"1953\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0},\"fill_color\":{\"field\":\"color\"},\"line_alpha\":{\"value\":0},\"size\":{\"units\":\"screen\",\"value\":12}},\"id\":\"1974\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2183\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"1953\"},\"inspection_policy\":{\"id\":\"2173\"},\"layout_provider\":{\"id\":\"1959\"},\"node_renderer\":{\"id\":\"1949\"},\"selection_policy\":{\"id\":\"2168\"}},\"id\":\"1946\",\"type\":\"GraphRenderer\"},{\"attributes\":{},\"id\":\"2142\",\"type\":\"LinearScale\"},{\"attributes\":{\"data\":{\"color\":[\"purple\",\"white\",\"green\",\"green\",\"green\",\"white\",\"grey\",\"orange\",\"grey\",\"yellow\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"orange\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"grey\",\"lightgreen\",\"grey\",\"red\",\"cyan\",\"cyan\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"yellow\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"yellow\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\",\"cornflowerblue\"],\"image\":[\"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\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],\"k\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"100\",\"0.05\",\"100\",\"100\",\"100\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"100\",\"100\",\"100\",\"100\",\"0.05\",\"100\",\"100\",\"0.05\",\"100\",\"100\",\"100\",\"0.05\",\"100\",\"100\",\"0.2\",\"100\",\"0.2\",\"100\",\"2\",\"100\",\"2\"],\"k_r\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"10\",\"None\",\"10\",\"10\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"10\",\"10\",\"10\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"10\",\"10\",\"None\",\"10\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\",\"10\",\"None\"],\"species\":[\"nothing\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[RNAP in default.]\",\"protein[Ribo in default.]\",\"protein[RNAase in default.]\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[Bxb1 in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"ordered_polymer[part[attB-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward] in default.]\",\"protein[GFP in default.]\",\"ordered_polymer[part[attR-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward] in default.]\",\"protein[RFP in default.]\",\"complex[protein[RNAase]:rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] in default.]\",\"complex[protein[RNAase]:rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]] in default.]\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=kint).\\n search_key=(mech=Bxb1, partid=Bxb1, name=kint).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_forward__complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=kint).\\n search_key=(mech=Bxb1, partid=Bxb1, name=kint).\\n\",\"2protein[Bxb1]+dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attP]:2x_protein[Bxb1]-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attP_protein_Bxb1_2x_forward__part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attP, name=ku).\\n\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:complex[part[pconst]:protein[RNAP]-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_complex_part_pconst_protein_RNAP_forward__part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attP-forward]:part[pconst-forward]:complex[part[attB]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attP_forward_part_pconst_forward_complex_part_attB_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attB, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=ku).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:complex[part[pconst]:protein[RNAP]-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__complex_part_pconst_protein_RNAP_reverse__complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=ku).\\n\",\"2protein[Bxb1]+dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:complex[part[attR]:2x_protein[Bxb1]-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_complex_part_attR_protein_Bxb1_2x_forward__part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attR, name=ku).\\n\",\"dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAP] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAP\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=transcription_mm, partid=pconst, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=transcription_mm, partid=pconst, name=ku).\\n\",\"ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:complex[part[pconst]:protein[RNAP]-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] --> dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAP]\\n Kf=k_forward * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_complex_part_pconst_protein_RNAP_reverse__part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=0.05\\n found_key=(mech=None, partid=None, name=ktx).\\n search_key=(mech=transcription_mm, partid=pconst, name=ktx).\\n\",\"2protein[Bxb1]+dna[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:part[attL-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]] <--> ordered_polymer[part[t16-reverse]:part[RFP-reverse]:part[UTR1-reverse]:part[attR-forward]:part[pconst-reverse]:complex[part[attL]:2x_protein[Bxb1]-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * protein_Bxb1^2 * dna_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_part_attL_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n Kr=k_reverse * ordered_polymer_part_t16_reverse_part_RFP_reverse_part_UTR1_reverse_part_attR_forward_part_pconst_reverse_complex_part_attL_protein_Bxb1_2x_reverse__part_UTR1_forward_part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=one_step_cooperative_binding, partid=attL, name=ku).\\n\",\"rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[part[attB-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_part_attB_reverse_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[part[attB-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[GFP-forward]:part[t16-forward]] --> rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[GFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_part_attB_reverse_complex_part_UTR1_protein_Ribo_forward__part_GFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[Ribo] <--> ordered_polymer[part[attR-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]]\\n Kf=k_forward * rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_Ribo\\n Kr=k_reverse * ordered_polymer_part_attR_reverse_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=translation_mm, partid=UTR1, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=translation_mm, partid=UTR1, name=ku).\\n\",\"ordered_polymer[part[attR-reverse]:complex[part[UTR1]:protein[Ribo]-forward]:part[RFP-forward]:part[t16-forward]] --> rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RFP]+protein[Ribo]\\n Kf=k_forward * ordered_polymer_part_attR_reverse_complex_part_UTR1_protein_Ribo_forward__part_RFP_forward_part_t16_forward_\\n k_forward=0.2\\n found_key=(mech=None, partid=None, name=ktl).\\n search_key=(mech=translation_mm, partid=UTR1, name=ktl).\\n\",\"rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[attB-reverse]:part[UTR1-forward]:part[GFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attB_reverse_part_UTR1_forward_part_GFP_forward_part_t16_forward_, name=kdeg).\\n\",\"rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]+protein[RNAase] <--> complex[protein[RNAase]:rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]]\\n Kf=k_forward * rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward_ * protein_RNAase\\n Kr=k_reverse * complex_protein_RNAase_rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=100\\n found_key=(mech=None, partid=None, name=kb).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kb).\\n k_reverse=10\\n found_key=(mech=None, partid=None, name=ku).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=ku).\\n\",\"complex[protein[RNAase]:rna[part[attR-reverse]:part[UTR1-forward]:part[RFP-forward]:part[t16-forward]]] --> protein[RNAase]\\n Kf=k_forward * complex_protein_RNAase_rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward__\\n k_forward=2\\n found_key=(mech=None, partid=None, name=kdeg).\\n search_key=(mech=rna_degredation_mm, partid=rna_part_attR_reverse_part_UTR1_forward_part_RFP_forward_part_t16_forward_, name=kdeg).\\n\"],\"type\":[\"nothing\",\"dna\",\"protein\",\"protein\",\"protein\",\"dna\",\"ordered_polymer\",\"rna\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"rna\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"ordered_polymer\",\"protein\",\"ordered_polymer\",\"protein\",\"complex\",\"complex\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]},\"selected\":{\"id\":\"2178\"},\"selection_policy\":{\"id\":\"2177\"}},\"id\":\"1962\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"end\":[],\"start\":[]},\"selected\":{\"id\":\"2184\"},\"selection_policy\":{\"id\":\"2183\"}},\"id\":\"1952\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2186\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2145\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"1962\"},\"glyph\":{\"id\":\"1974\"},\"hover_glyph\":null,\"muted_glyph\":null,\"view\":{\"id\":\"1964\"}},\"id\":\"1963\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"#fdae61\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"2024\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"#abdda4\"},\"size\":{\"units\":\"screen\",\"value\":15}},\"id\":\"2029\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2185\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"edge_renderer\":{\"id\":\"1967\"},\"inspection_policy\":{\"id\":\"2050\"},\"layout_provider\":{\"id\":\"1973\"},\"node_renderer\":{\"id\":\"1963\"},\"selection_policy\":{\"id\":\"2048\"}},\"id\":\"1960\",\"type\":\"GraphRenderer\"},{\"attributes\":{},\"id\":\"1937\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"2182\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"1938\"},\"glyph\":{\"id\":\"1937\"},\"hover_glyph\":null,\"muted_glyph\":null,\"view\":{\"id\":\"1940\"}},\"id\":\"1939\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"attachment\":\"right\",\"callback\":null,\"renderers\":[{\"id\":\"1946\"}],\"tooltips\":[[\"name\",\"@species\"],[\"type\",\"@type\"]]},\"id\":\"2035\",\"type\":\"HoverTool\"},{\"attributes\":{\"graph_layout\":{\"0\":[9.307434826477632,-445.13168037415073],\"1\":[38.62875860725352,-67.44117217133547],\"10\":[78.68015007462539,-68.2508640406593],\"11\":[77.43556807535393,-109.52181539256982],\"12\":[101.537785389065,-119.40782573395269],\"13\":[48.49099683662785,-90.88734625840594],\"14\":[136.5390953393929,-75.48983588863821],\"15\":[-9.629416592398378,6.14740934341162],\"16\":[-271.5279973930784,-98.26666907866377],\"17\":[-23.114190525823886,55.67444452252883],\"18\":[8.5393837034395,-1.0535872666220165],\"19\":[15.33257186089837,76.76526495822881],\"2\":[38.01851613841379,-28.032552094391725],\"20\":[51.04680905274896,67.48190052494404],\"21\":[44.17434277356989,24.969373161526867],\"22\":[-8.186333362886533,39.35743744240242],\"23\":[-296.33807930941845,-61.88398053400306],\"24\":[-84.20274820241545,-444.97154909442054],\"25\":[-291.0619036129435,-108.4056404402254],\"26\":[135.30129410264752,-383.01209958041954],\"27\":[-255.3308344916598,-61.51136956844181],\"28\":[-250.34067542309418,-102.4525575507823],\"29\":[85.60098241740279,-38.57767402279874],\"3\":[-286.5950992823504,-85.04944514915242],\"30\":[158.44156723816894,-34.73738742717909],\"31\":[72.38895024315336,-52.49835206854867],\"32\":[102.69240397405845,-72.76122263021533],\"33\":[88.39654115785227,-105.33181064518074],\"34\":[60.987617971056714,-75.58151877312297],\"35\":[84.16795301210955,-77.34233483372724],\"36\":[63.96406754265972,-93.92722084611847],\"37\":[117.08568829420452,-153.09832745826483],\"38\":[133.2416662438215,-46.94386459553375],\"39\":[92.67205765359186,-61.72634464714505],\"4\":[-258.0022671758581,-82.89348044408302],\"40\":[163.51589843716377,-84.55814385244169],\"41\":[123.56582049542105,-99.30937703605417],\"42\":[149.2039034205593,-78.85811295487282],\"43\":[45.920273610871604,-50.2021000532068],\"44\":[48.98617598462057,-78.72944316340559],\"45\":[76.1526581726666,-149.2603039536971],\"46\":[35.95462941927942,-77.35906861500997],\"47\":[-14.474062509335482,17.38118043773885],\"48\":[-40.63774485674062,73.5577210944664],\"49\":[-4.000271617543496,-5.964051380022493],\"5\":[17.743316691760974,29.726599441615573],\"50\":[-1.0367963984258795,62.89552466595397],\"51\":[37.966638236829645,73.16024283810567],\"52\":[30.137301187127907,9.207518476965443],\"53\":[54.145932062884846,33.6816280160344],\"54\":[66.03880646548292,90.07365840054743],\"55\":[-14.15804182455051,47.74365639891081],\"56\":[3.576590754963674,6.902834046932641],\"57\":[-38.08394596443741,40.546920556690665],\"58\":[27.752447610138006,55.50960041029151],\"59\":[7.558215294976151,18.737206628074873],\"6\":[65.64598398594026,-45.1566572206264],\"60\":[18.159803254556575,41.77621188874808],\"61\":[11.417031750151304,102.9158092152077],\"62\":[34.245604726245524,25.54649275007002],\"63\":[-286.9473150788293,-70.0692279517366],\"64\":[-304.47233655130924,-55.153276196061924],\"65\":[-283.50710427846286,-97.67298542353345],\"66\":[-297.4421258741794,-117.10072324587757],\"67\":[-261.7442682929539,-69.06220331226187],\"68\":[-250.42551642193692,-56.759848302800705],\"69\":[-258.505245072768,-95.32112549443198],\"7\":[-273.81641489809954,-67.05579100306329],\"70\":[-245.03720929784112,-107.2250907371748],\"8\":[122.61550865879971,-45.77282259116759],\"9\":[62.846866701969994,-6.670902436019113]}},\"id\":\"1973\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{},\"id\":\"2050\",\"type\":\"EdgesAndLinkedNodes\"},{\"attributes\":{},\"id\":\"2173\",\"type\":\"NodesOnly\"},{\"attributes\":{\"graph_layout\":{\"0\":[9.307434826477632,-445.13168037415073],\"1\":[38.62875860725352,-67.44117217133547],\"10\":[78.68015007462539,-68.2508640406593],\"11\":[77.43556807535393,-109.52181539256982],\"12\":[101.537785389065,-119.40782573395269],\"13\":[48.49099683662785,-90.88734625840594],\"14\":[136.5390953393929,-75.48983588863821],\"15\":[-9.629416592398378,6.14740934341162],\"16\":[-271.5279973930784,-98.26666907866377],\"17\":[-23.114190525823886,55.67444452252883],\"18\":[8.5393837034395,-1.0535872666220165],\"19\":[15.33257186089837,76.76526495822881],\"2\":[38.01851613841379,-28.032552094391725],\"20\":[51.04680905274896,67.48190052494404],\"21\":[44.17434277356989,24.969373161526867],\"22\":[-8.186333362886533,39.35743744240242],\"23\":[-296.33807930941845,-61.88398053400306],\"24\":[-84.20274820241545,-444.97154909442054],\"25\":[-291.0619036129435,-108.4056404402254],\"26\":[135.30129410264752,-383.01209958041954],\"27\":[-255.3308344916598,-61.51136956844181],\"28\":[-250.34067542309418,-102.4525575507823],\"29\":[85.60098241740279,-38.57767402279874],\"3\":[-286.5950992823504,-85.04944514915242],\"30\":[158.44156723816894,-34.73738742717909],\"31\":[72.38895024315336,-52.49835206854867],\"32\":[102.69240397405845,-72.76122263021533],\"33\":[88.39654115785227,-105.33181064518074],\"34\":[60.987617971056714,-75.58151877312297],\"35\":[84.16795301210955,-77.34233483372724],\"36\":[63.96406754265972,-93.92722084611847],\"37\":[117.08568829420452,-153.09832745826483],\"38\":[133.2416662438215,-46.94386459553375],\"39\":[92.67205765359186,-61.72634464714505],\"4\":[-258.0022671758581,-82.89348044408302],\"40\":[163.51589843716377,-84.55814385244169],\"41\":[123.56582049542105,-99.30937703605417],\"42\":[149.2039034205593,-78.85811295487282],\"43\":[45.920273610871604,-50.2021000532068],\"44\":[48.98617598462057,-78.72944316340559],\"45\":[76.1526581726666,-149.2603039536971],\"46\":[35.95462941927942,-77.35906861500997],\"47\":[-14.474062509335482,17.38118043773885],\"48\":[-40.63774485674062,73.5577210944664],\"49\":[-4.000271617543496,-5.964051380022493],\"5\":[17.743316691760974,29.726599441615573],\"50\":[-1.0367963984258795,62.89552466595397],\"51\":[37.966638236829645,73.16024283810567],\"52\":[30.137301187127907,9.207518476965443],\"53\":[54.145932062884846,33.6816280160344],\"54\":[66.03880646548292,90.07365840054743],\"55\":[-14.15804182455051,47.74365639891081],\"56\":[3.576590754963674,6.902834046932641],\"57\":[-38.08394596443741,40.546920556690665],\"58\":[27.752447610138006,55.50960041029151],\"59\":[7.558215294976151,18.737206628074873],\"6\":[65.64598398594026,-45.1566572206264],\"60\":[18.159803254556575,41.77621188874808],\"61\":[11.417031750151304,102.9158092152077],\"62\":[34.245604726245524,25.54649275007002],\"63\":[-286.9473150788293,-70.0692279517366],\"64\":[-304.47233655130924,-55.153276196061924],\"65\":[-283.50710427846286,-97.67298542353345],\"66\":[-297.4421258741794,-117.10072324587757],\"67\":[-261.7442682929539,-69.06220331226187],\"68\":[-250.42551642193692,-56.759848302800705],\"69\":[-258.505245072768,-95.32112549443198],\"7\":[-273.81641489809954,-67.05579100306329],\"70\":[-245.03720929784112,-107.2250907371748],\"8\":[122.61550865879971,-45.77282259116759],\"9\":[62.846866701969994,-6.670902436019113]}},\"id\":\"1959\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{\"callback\":null,\"renderers\":[{\"id\":\"1960\"}],\"tooltips\":null},\"id\":\"2034\",\"type\":\"HoverTool\"},{\"attributes\":{\"graph_layout\":{\"0\":[9.307434826477632,-445.13168037415073],\"1\":[38.62875860725352,-67.44117217133547],\"10\":[78.68015007462539,-68.2508640406593],\"11\":[77.43556807535393,-109.52181539256982],\"12\":[101.537785389065,-119.40782573395269],\"13\":[48.49099683662785,-90.88734625840594],\"14\":[136.5390953393929,-75.48983588863821],\"15\":[-9.629416592398378,6.14740934341162],\"16\":[-271.5279973930784,-98.26666907866377],\"17\":[-23.114190525823886,55.67444452252883],\"18\":[8.5393837034395,-1.0535872666220165],\"19\":[15.33257186089837,76.76526495822881],\"2\":[38.01851613841379,-28.032552094391725],\"20\":[51.04680905274896,67.48190052494404],\"21\":[44.17434277356989,24.969373161526867],\"22\":[-8.186333362886533,39.35743744240242],\"23\":[-296.33807930941845,-61.88398053400306],\"24\":[-84.20274820241545,-444.97154909442054],\"25\":[-291.0619036129435,-108.4056404402254],\"26\":[135.30129410264752,-383.01209958041954],\"27\":[-255.3308344916598,-61.51136956844181],\"28\":[-250.34067542309418,-102.4525575507823],\"29\":[85.60098241740279,-38.57767402279874],\"3\":[-286.5950992823504,-85.04944514915242],\"30\":[158.44156723816894,-34.73738742717909],\"31\":[72.38895024315336,-52.49835206854867],\"32\":[102.69240397405845,-72.76122263021533],\"33\":[88.39654115785227,-105.33181064518074],\"34\":[60.987617971056714,-75.58151877312297],\"35\":[84.16795301210955,-77.34233483372724],\"36\":[63.96406754265972,-93.92722084611847],\"37\":[117.08568829420452,-153.09832745826483],\"38\":[133.2416662438215,-46.94386459553375],\"39\":[92.67205765359186,-61.72634464714505],\"4\":[-258.0022671758581,-82.89348044408302],\"40\":[163.51589843716377,-84.55814385244169],\"41\":[123.56582049542105,-99.30937703605417],\"42\":[149.2039034205593,-78.85811295487282],\"43\":[45.920273610871604,-50.2021000532068],\"44\":[48.98617598462057,-78.72944316340559],\"45\":[76.1526581726666,-149.2603039536971],\"46\":[35.95462941927942,-77.35906861500997],\"47\":[-14.474062509335482,17.38118043773885],\"48\":[-40.63774485674062,73.5577210944664],\"49\":[-4.000271617543496,-5.964051380022493],\"5\":[17.743316691760974,29.726599441615573],\"50\":[-1.0367963984258795,62.89552466595397],\"51\":[37.966638236829645,73.16024283810567],\"52\":[30.137301187127907,9.207518476965443],\"53\":[54.145932062884846,33.6816280160344],\"54\":[66.03880646548292,90.07365840054743],\"55\":[-14.15804182455051,47.74365639891081],\"56\":[3.576590754963674,6.902834046932641],\"57\":[-38.08394596443741,40.546920556690665],\"58\":[27.752447610138006,55.50960041029151],\"59\":[7.558215294976151,18.737206628074873],\"6\":[65.64598398594026,-45.1566572206264],\"60\":[18.159803254556575,41.77621188874808],\"61\":[11.417031750151304,102.9158092152077],\"62\":[34.245604726245524,25.54649275007002],\"63\":[-286.9473150788293,-70.0692279517366],\"64\":[-304.47233655130924,-55.153276196061924],\"65\":[-283.50710427846286,-97.67298542353345],\"66\":[-297.4421258741794,-117.10072324587757],\"67\":[-261.7442682929539,-69.06220331226187],\"68\":[-250.42551642193692,-56.759848302800705],\"69\":[-258.505245072768,-95.32112549443198],\"7\":[-273.81641489809954,-67.05579100306329],\"70\":[-245.03720929784112,-107.2250907371748],\"8\":[122.61550865879971,-45.77282259116759],\"9\":[62.846866701969994,-6.670902436019113]}},\"id\":\"1945\",\"type\":\"StaticLayoutProvider\"},{\"attributes\":{\"end\":116.61299317294845,\"start\":-458.6687330521613},\"id\":\"2003\",\"type\":\"Range1d\"},{\"attributes\":{\"data_source\":{\"id\":\"1948\"},\"glyph\":{\"id\":\"2019\"},\"hover_glyph\":{\"id\":\"2029\"},\"muted_glyph\":null,\"selection_glyph\":{\"id\":\"2024\"},\"view\":{\"id\":\"1950\"}},\"id\":\"1949\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1966\"}},\"id\":\"1968\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2168\",\"type\":\"NodesOnly\"},{\"attributes\":{\"line_alpha\":{\"value\":0.2},\"line_join\":\"round\",\"line_width\":{\"value\":4}},\"id\":\"1979\",\"type\":\"MultiLine\"},{\"attributes\":{\"source\":{\"id\":\"1952\"}},\"id\":\"1954\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"field\":\"color\"},\"size\":{\"units\":\"screen\",\"value\":8}},\"id\":\"2004\",\"type\":\"Square\"},{\"attributes\":{\"data_source\":{\"id\":\"1966\"},\"glyph\":{\"id\":\"1979\"},\"hover_glyph\":{\"id\":\"1989\"},\"muted_glyph\":null,\"selection_glyph\":{\"id\":\"1984\"},\"view\":{\"id\":\"1968\"}},\"id\":\"1967\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_color\":{\"value\":\"#abdda4\"},\"line_join\":\"round\",\"line_width\":{\"value\":5}},\"id\":\"1989\",\"type\":\"MultiLine\"},{\"attributes\":{\"data\":{\"end\":[],\"start\":[]},\"selected\":{\"id\":\"2180\"},\"selection_policy\":{\"id\":\"2179\"}},\"id\":\"1938\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"overlay\":{\"id\":\"2174\"}},\"id\":\"2038\",\"type\":\"BoxSelectTool\"},{\"attributes\":{},\"id\":\"2175\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"end\":217.16264405548213,\"start\":-358.11908216962763},\"id\":\"2002\",\"type\":\"Range1d\"},{\"attributes\":{\"attachment\":\"right\",\"callback\":null,\"renderers\":[{\"id\":\"1932\"}],\"tooltips\":[[\"reaction\",\"@species\"],[\"type\",\"@type\"],[\"k_f\",\"@k\"],[\"k_r\",\"@k_r\"]]},\"id\":\"2036\",\"type\":\"HoverTool\"},{\"attributes\":{\"line_color\":{\"value\":\"#fdae61\"},\"line_join\":\"round\",\"line_width\":{\"value\":5}},\"id\":\"1984\",\"type\":\"MultiLine\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"2174\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null},\"id\":\"2037\",\"type\":\"TapTool\"},{\"attributes\":{},\"id\":\"2177\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"1934\"},\"glyph\":{\"id\":\"2004\"},\"hover_glyph\":{\"id\":\"2014\"},\"muted_glyph\":null,\"selection_glyph\":{\"id\":\"2009\"},\"view\":{\"id\":\"1936\"}},\"id\":\"1935\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2178\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2039\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"1938\"}},\"id\":\"1940\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2040\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2176\",\"type\":\"Selection\"},{\"attributes\":{\"text\":\"\"},\"id\":\"2144\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2048\",\"type\":\"NodesAndLinkedEdges\"},{\"attributes\":{},\"id\":\"2179\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2034\"},{\"id\":\"2035\"},{\"id\":\"2036\"},{\"id\":\"2037\"},{\"id\":\"2038\"},{\"id\":\"2039\"},{\"id\":\"2040\"}]},\"id\":\"2041\",\"type\":\"Toolbar\"},{\"attributes\":{\"source\":{\"id\":\"1962\"}},\"id\":\"1964\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":{\"value\":\"#abdda4\"},\"size\":{\"units\":\"screen\",\"value\":8}},\"id\":\"2014\",\"type\":\"Square\"},{\"attributes\":{},\"id\":\"2180\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"value\":\"#fdae61\"},\"size\":{\"units\":\"screen\",\"value\":8}},\"id\":\"2009\",\"type\":\"Square\"},{\"attributes\":{},\"id\":\"2158\",\"type\":\"NodesOnly\"}],\"root_ids\":[\"1929\"]},\"title\":\"Bokeh Application\",\"version\":\"2.2.3\"}};\n", " var render_items = [{\"docid\":\"34e0bd13-73dd-49b1-986c-15fdbf488d92\",\"root_ids\":[\"1929\"],\"roots\":{\"1929\":\"95c651ea-eb86-4003-ae03-2dbfef41f941\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " var attempts = 0;\n", " var timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1929" } }, "output_type": "display_data" } ], "source": [ "\n", "\n", "plotNetwork(myCRN,colordict={\"complex\":\"cyan\",\"protein\":\"green\",\n", " \"GFP\":\"lightgreen\",\n", " \"RFP\":\"red\",\n", " \"ribosome\":\"blue\",\n", " \"dna\":\"white\",\"rna\":\"orange\",\n", " \"ligand\":\"pink\",\"phosphate\":\"yellow\",\"nothing\":\"purple\", \"Bxb1\":\"yellow\"})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Overview for developers\n", "Several key additions had to be made to biocrnpyler to make this possible. \n", "\n", "1. `Complex()` is a new function that you should use every time you want to make a ComplexSpecies. It should do exactly the same thing as the ComplexSpecies constructor, unless one of the species that you gave it is an OrderedComplexSpecies that has a 'bindloc' attribute, then instead of making a ComplexSpecies the function will make an OrderedComplexSpecies that is correctly formed.\n", "\n", "2. `OrderedPolymer` `OrderedMonomer` and `OrderedPolymerSpecies` are new data members that represent sequences of parts. A piece of DNA with many binding sites is represented as an OrderedPolymerSpecies. Because mechanisms and Components are agnostic of binding location; that is to say, they usually have code that looks like this: `make_complex([dna,protein])`, we must give them some way of knowing _where_ on that `dna` the `protein` should end up. To do this, you must pass an `OrderedMonomer` into a `Component` which belongs to an `OrderedPolymer`. Through the use of the `Complex()` function, the proper complex will be made, to the correct member of the `OrderedPolymer` which the `OrderedMonomer` belongs to.\n", "\n", "3. `DNA_part` inherits from `Component`, and every dna part such as `Promoter` now inherits from `DNA_part` instead of `Component`. This allows the storage of things like position, direction, and parent construct inside anything that used to be a `Component`\n", "\n", "4. `CDS` is a `DNA_part` which gives rise to a `Species`. It felt weird to put `Protein` objects into a DNA sequence so I created this. It only makes the protein if it is read in the 'forward' direction.\n", "\n", "4. `DNA_construct` contains a list of `DNA_part`s together with their directions. `DNA_construct` also has `update_species()` and `update_reactions()` so that it can generate the necessary species and reactions if it will be part of a CRN. Likewise, `RNA_construct` does the same thing for RNA. A `DNA_construct` can give rise to many `RNA_construct`s when it compiles. This is done through the action of `explore_txtl()`\n", "\n", "5. `explore_txtl()` is a function of `DNA_construct` which figures out the RNA and Proteins that a DNA produces. It works basically by going along a DNA part by part, remembering which parts came before, and taking into account the directions of parts. In general it will traverse a `DNA_construct` in the \"forward\" and \"reverse\" directions. It is hard coded to know that `RBS` parts make proteins and `Promoter` parts make RNAs, but only when their orientation is \"forward\" relative to the direction it's currently looking at. Other things are taken account too, for example, an `RBS` can only make a `Protein` if it is part of an RNA. Most of this logic is encapsulated in an object called `TxTl_explorer`.\n", "\n", "6. `update_components()` is a function of `DNA_construct` which creates many copies of the `DNA_part`s which make up the `DNA_construct`. This is necessary for making all combinatorial complexes. First, every `DNA_part` is fed in an `OrderedComplexSpecies` corresponding to the unbound DNA, which has the appropriate \"bindloc_\". Then, the `Species` produced by `update_species()` each have complexes in only one location. All possible combinations of bound species are then generated from this set of `OrderedComplexSpecies`. Then, these combinatorial complexes are fed _back_ into the `DNA_part`s, generating a new `DNA_part` that is responsible for generating species and reactions that include that combinatorial complex. For example, if you have `DNA_construct` containing a `Promoter` and an `AttachmentSite`, then `update_components()` should generate two `Promoter` parts, one that has the unbound `OrderedComplexSpecies` and one that has an `OrderedComplexSpecies` that has integrases bound to it. Then, these new `Component`s can be used to make species and reactions using their respective `update_species()` and `update_reactions()`\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.4" } }, "nbformat": 4, "nbformat_minor": 4 }